Since version 0.8.0, most configurable components of Colossus can be configured using Typesafe Config.

In general, all configuration is path-based, meaning that the supplied name of the server/client/etc. is used in resolving the path for configuration. When path-based configuration is not present, each component falls back to a set of defaults defined in Colossus’ reference.conf.

All configurable components have a constructor that takes a typesafe Config an optional parameter. If omitted, a config object will be loaded using ConfigFactory.load().

Configuring IOSystems

Colossus will look for configuration in colossus.iosystem.

If an IOSystem is constructed without a MetricSystem, it will create a new one with the same name.

Configuring Servers

Servers will look for path-based configuration at the path colossus.server.<name>, falling back to just colossus.server for defaults. See the API documentation for Server and ServerSettings for more details

Configuring Service Request Handlers

Request handlers will look for path-based config in the path colossus.service.<name>, where “name” is the name of the server of the request handler. See the API docs for Service and ServiceConfig for more details.

Configuring Service Clients

Clients will look for path-based config in the path colossus.client.<name> where name is the name of the client. See the API docs for ServiceClientFactory and ClientConfig for more details.

The source code for this page can be found here.