Are you running this code in web container?  If so, which?  Tomcat,
Jetty, JBoss?

If you are just running as a standalone Java app, you can just use
"SimpleRegistry", which is basically a Map.

        CamelContext context = new DefaultCamelContext(new SimpleRegistry());

        Registry registry = context.getRegistry();
        if (registry instanceof PropertyPlaceholderDelegateRegistry)
            registry =
((PropertyPlaceholderDelegateRegistry)registry).getRegistry();


Then, instead of JndiRegistry.bind(...), just use Map's put(..) method:

((SimpleRegistry)registry).put("bean-name", new SomeBean());



On Mon, Mar 18, 2013 at 2:49 PM, Gert Villemos <gville...@gmail.com> wrote:
> I meant that I in the RouteBuilder::configure have;
>
> JndiRegistry registry = (JndiRegistry) getContext().getRegistry(); // DO NOT
> WORK!
>
>
> -----------
>
> Thanks for the suggestion. The code
>
> PropertyPlaceholderDelegateRegistry registry =
> (PropertyPlaceholderDelegateRegistry) getContext().getRegistry();
> JndiRegistry jndiRegistry = (JndiRegistry) registry.getRegistry();
>
> Gives me a reference to the JndiRegistry, but on first bind() I get an
> exception;
>
> javax.naming.NoInitialContextException: Need to specify class name in
> environment or system property, or as an applet parameter, or in an
> application resource file:  java.naming.factory.initial
>
> If I need to manually initialize the JNDI context, then this smells like Im
> doing something I should not be doing, i.e. bypassing the 'right' way of
> doing things...
>
>
>
> --
> View this message in context: 
> http://camel.465427.n5.nabble.com/Programatically-adding-beans-to-a-registry-in-a-RouteBuilder-tp5729358p5729370.html
> Sent from the Camel - Users mailing list archive at Nabble.com.

Reply via email to