...
You can use CbsClientFactory to lookup for CBS in your application. Returned CbsClient can then be used to get a configuration, poll for configuration or poll for configuration changes.
The following CBS endpoints are supported by means of different CbsRequest
s:
- get-configuration created by
CbsRequests.getConfiguration
method - returns the service configuration - get-by-key created by
CbsRequests.getByKey
method - returns componentName:key entry from Consul - get-all created by
CbsRequests.getAll
method - returns everything which relates to the service (configuration, policies, etc.)
Sample usage:
Code Block | ||||
---|---|---|---|---|
| ||||
// Generate RequestID and InvocationID which will be used when logging and in HTTP requests final RequestDiagnosticContext diagnosticContext = RequestDiagnosticContext.create(); final CbsRequest request = CbsRequests.getConfiguration(diagnosticContext); // Read necessary properties from the environment final EnvProperties env = EnvProperties.fromEnvironment(); // Create the client and use it to get the configuration CbsClientFactory.createCbsClient(env) .flatMap(cbsClient -> cbsClient.get(request)) .subscribe( jsonObject -> { // do a stuff with your JSON configuration using GSON API final int port = Integer.parseInt(jsonObject.get("collector.listen_port").getAsString()); // ... }, throwable -> { logger.warn("Ooops", throwable); }); |
...