Hi,

I am implementing a Camel based connector service to ActiveMQ and the class
outline looks as follows:

public class ActiveMQCamelRouterService {
        
        private CamelContext camelContext;
    private ProducerTemplate camelTemplate;
        

        public ActiveMQCamelRouterService()
        {
                try 
                {
                        CamelContext camelContext = new DefaultCamelContext();
                        ActiveMQComponent queue =
ActiveMQComponent.activeMQComponent("tcp://localhost:61616?broker.persistent=false");
                queue.setBrokerURL("tcp://localhost:61616");
                camelContext.addComponent("activemq", queue); 
                camelTemplate = camelContext.createProducerTemplate();       
         }
                catch(...)
                {
                }
        }
        
    public void process(SOAPEnvelope req, SOAPEnvelope resp) throws
Exception {
                try
                {
                        Node requestNode = getMessageNode(req);
                        if(requestNode!=null)
                        {
                                final String routeSource = "direct:activemq";
                                final String routeDestination = 
"activemq:queue:testqueue";

                                if( camelContext != null )
                                {
                                        camelContext.addRoutes(new 
RouteBuilder() {                 
                                    public void configure() throws Exception {
                                        from(routeSource).to(routeDestination);
                                    }
                                });

                        camelContext.start();

                        //need to understand how to shape message with headers 
to
activemq through camel
                        camelTemplate.sendBody(routeSource, "This is a test 
message
from Camel");
                }

                }
                }
                catch(...)
}

What I have noticed is that the Camel context is initialized in the
constructor but is NULL when the process method is called. I have tested
this code instantiating other objects in the constructor and can see they
are valid in the process method. Do you know if this is a known issue or
design feature of Camel ? Would this happen if somehow I got the mix of jars
(Camel, Camel-ActiveMQ and Spring) matched up incorrectly? 

Thanks,
Ger.



--
View this message in context: 
http://camel.465427.n5.nabble.com/Camel-context-NULL-in-derived-class-tp5798307.html
Sent from the Camel - Users mailing list archive at Nabble.com.

Reply via email to