ComponentConfiguration API

As of Camel 2.12 the new ComponentConfiguration API provides a mechanism for tools (command line, IDE, web based) to introspect the available Camel components and introspect what configuration parameters are available on the components to create new endpoints, edit existing endpoints or create/edit URIs for endpoints (if the aim is to allow UI editting of Camel routes for example).

To get an idea for the kinds of things you can do with the ComponentConfiguration API check out the test case.

For example given a Component object you can create a new configuration; then introspect the available properties…​

Component component = camelContext.getComponent("seda");
ComponentConfiguration configuration = component.createComponentConfiguration();

// now lets introspect the available parameters...
SortedMap<String, ParameterConfiguration> parameterMap = configuration.getParameterConfigurationMap();

// or lets look up a named parameter
ParameterConfiguration config = configuration.getParameterConfiguration("foo");


// lets get or set the parameter values...
configuration.setParameter("concurrentConsumers", 5);
configuration.setParameter("size", 1000);

// or lets set the base URI and parameters from a URI string
configuration.setUriString("foo?concurrentConsumers=5&size=1000");


// now lets convert the configuration to a URI string
String uriString = configuration.getUriString();

// now lets convert the configuration to an Endpoint
Endpoint newEndpoint = configuration.createEndpoint();