I have a server which loads the application context with the parameter -ac camel-server.xml:
<broker:broker useJmx="false" persistent="false" brokerName="localhost"> <broker:transportConnectors> <broker:transportConnector name="tcp" uri="tcp://localhost:61616"/> </broker:transportConnectors> </broker:broker> <!-- Connection factory for ActiveMQ endpoints --> <bean id="connectionFactoryActiveMQ" class="org.apache.activemq.ActiveMQConnectionFactory"> <property name="brokerURL" value="vm://localhost"/> </bean> <!----------> <bean id="inOutQueue" class="org.apache.activemq.command.ActiveMQQueue"> <constructor-arg value="inOutQueue"/> </bean> <bean id="checkinServices" class="org.springframework.jms.remoting.JmsInvokerServiceExporter"> <property name="serviceInterface" value="MyManager"/> <property name="service"> <bean class="MyManagerImpl"/> </property> </bean> <bean class="org.springframework.jms.listener.DefaultMessageListenerContainer"> <property name="connectionFactory" ref="connectionFactoryActiveMQ"/> <property name="destination" ref="inOutQueue"/> <property name="maxConcurrentConsumers" value="5"/> <property name="concurrentConsumers" value="5"/> <property name="messageListener" ref="checkinServices"/> </bean> Then I have a camel-client.xml file which I start up from my Java code. AbstractApplicationContext context = new ClassPathXmlApplicationContext("camel-client.xml"); myManager = (MyManager) context.getBean("checkinServices"); myManager.shutdown(); --------------------- So when the client sends a message to a queue defined in camel-client.xml on an activemq broker which was fired up by camel-server.xml, the server side processes the message with the services defined to listen on the respective queue. In the shutdown method I do the following: public void shutdown() throws Exception Main main = Main.getInstance(); if(main != null) { if(main.getApplicationContext() != null){ main.getApplicationContext().close(); // main.getApplicationContext().registerShutdownHook(); } } } I expect that in the shutdown method I am going to get the instance of Main that started the camel-server.xml applicatoin context and when I close it the active mq broker will be closed as well. Hope you can follow this through. Semir Claus Ibsen-2 wrote: > > Hi > > I would assume the AMQ is also shutting down the the > applicationContext is closed, so Spring is shutting down and thus > shuts down all the bean that is handling the lifecycle for. > > If you run the camel-jms example in Camel then the AMQ broker is also > stopping when you stop the example. > > We have lately patched the Main with a JVM shutdown hook so when you > press CLTR + C to stop it then it will also call doStop() so its > gracefully shutting down it all. > > Can you show the applicationContext and what you do to stop the Main? > And which version of Camel and AMQ are you using? > > > On Fri, Jan 16, 2009 at 10:00 AM, selezovikj <semir.elezo...@gmail.com> > wrote: >> >> I am using org.apache.camel.spring.Main -ac file.xml to start up Camel. >> In the xml file I have configuration for starting an ActiveMq broker on >> host >> 61616, defined queues, and also beans responsible for handling messages >> which are sent on the request/response queues. >> >> Now I want a way to gracefully shutdown the camel service. >> I see that in the doStop() method of the Main class the >> AbstractApplicationContext is closed. >> When this is closed, the activeMq broker which we fired up is still >> running. >> >> Can someone please explain me what precisely is going on when the >> applicationContext is closed ? >> Also how to gracefully stop the instance of Main that fired up the >> activeMq >> broker and that loads the xml configuration file ? >> >> Any help will be greatly appreciated >> >> >> >> >> -- >> View this message in context: >> http://www.nabble.com/ApplicationContext-close-tp21495001s22882p21495001.html >> Sent from the Camel - Users mailing list archive at Nabble.com. >> >> > > > > -- > ------- > Claus Ibsen > Apache Camel Committer > > Open Source Integration: http://fusesource.com > Blog: http://davsclaus.blogspot.com/ > > -- View this message in context: http://www.nabble.com/ApplicationContext-close-tp21495001s22882p21495886.html Sent from the Camel - Users mailing list archive at Nabble.com.