Jyrki Ruuskanen created CAMEL-7875:
--------------------------------------

             Summary: Easier write access to Camel context registry
                 Key: CAMEL-7875
                 URL: https://issues.apache.org/jira/browse/CAMEL-7875
             Project: Camel
          Issue Type: Improvement
          Components: camel-core
            Reporter: Jyrki Ruuskanen
            Priority: Minor


I haven't found a nice way to add beans to Camel context registry through Camel 
context reference in plain Java. Some beans are only needed by a certain 
endpoint and it would make sense to set the bean up with the endpoint in 
routebuilder configure method.

If we added a reference to self in SimpleRegistry we could setup the Camel 
context by DefaultCamelContext(new SimpleRegistry()) or 
OsgiDefaultCamelContext(bundleContext, new SimpleRegistry()) and easily access 
the registry from the routebuilder with SimpleRegistry registry = 
(SimpleRegistry) getContext().lookupByName(SimpleRegistry.NAME);.

Then we can set up beans in routebuilder configure and simply add them with 
registry.put. And the same routebuilder could be used in plain Java, in OSGi or 
elsewhere.

All that is needed is this change in SimpleRegistry:

public static final String NAME;
static {
   NAME = java.util.UUID.randomUUID().tostring();
}

public SimpleRegistry() {
   put.(NAME, this);
}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to