I have added shutdownRoute="Defer" for every route. You can see that in my attachment file in the original post. I am assuming that I just have to add "Defer" in the config. I am not using custom component, so i didn't have to write custom shutdown strategy. Is there something else that I am missing?
Claus Ibsen-2 wrote: > > Hi > > You most likely need to configure some of your routes to Defer > shutting down so they are active and can process the messages. > You can read about this option in the Camel documentation. > > > > On Thu, May 27, 2010 at 5:21 AM, vcheruvu <[email protected]> > wrote: >> >> Hi, >> >> I am performing graceful shutdown test with our application.This is to >> ensure Camel does process all of the messages from VM queue and shutdown >> our >> application. So, our application reads data from tables as a queue using >> Camel-JPA Component. Please see my camel spring config in the attachment >> below. I have ensured VM queue has about 100,000 Exchanges to be >> processed >> by storeNewOrderEventEntity route. I tried to gracefully shut down Camel >> from eclipse stop button. In doing so, I got error with >> saveOrderEventRepository bean (this bean calls our DAO/repository layer >> code >> which calls store procedure at DB server to insert new records). >> >> Any idea how I can ensure this bean can defer getting destroyed and >> ensure >> all messages are processed before shutting down? >> >> http://old.nabble.com/file/p28689054/pats-camel-context.xml >> pats-camel-context.xml >> >> 2010-05-27 11:24:40,915 ERROR [Camel thread 139: >> vm://storeNewEntity?concurrentConsumers=100&size=1000000&timeout=1000000] >> Logger.log:248 - Err >> or processing exchange. Exchange[Message: OrderEventDTO >> [AccountID=IGMKTS, >> AdviserID=IGORDERS2, BrokerID=MQIGM, BuySell=SELL, ClOrdID=null, ClO >> rdIDString=195, ClientCode=Y (DR), ComfirmationID=null, ContractID=6875, >> CustomerOrderID=MQIGM, EventTyp >> eCode=Partially Filled, ExchangeOrderID=20100413PTSGW0Y, >> ExecID=6813:3641289, ExecutionInstructionCode=Market, ExpireTime=null, >> ExternalOrderID >> =1956282, FillContractID=null, FillPrice=null, FillSubaccountID=null, >> FillVolume=null, HasChildren=null, OrderCategoryCode=Native, OrderDate=20 >> 10-04-13 07:29:13.0, OrderTypeCode=F, ParentClOrdID=null, >> ParentClOrdIDString=null, Price=1986.75, ReferenceClOrdID=null, >> ReferenceClOrdIDStrin >> g=null, ReferenceExecID=null, ReferenceTradeDate=2010-04-13 07:29:13.0, >> SourceSystem=PATS, StopPrice=0.0, TargetSystem=CME, Text= , TimeInForce >> Code=Limit, TransactTime=2010-04-13 07:29:13.0, Volume=23, >> ExternalSecondaryID=6320]]. Caused by: >> [org.springframework.beans.factory.BeanCreationNotAllowedException - >> Error >> creating bean with name 'saveOrderEventRepository': Singleton bean >> creation >> not allowed while the singletons of t >> his factory are in destruction (Do not request a bean from a BeanFactory >> in >> a destroy method implementation!)] >> org.springframework.beans.factory.BeanCreationNotAllowedException: Error >> creating bean with name 'saveOrderEventRepository': Singleton bean >> creation >> not allowed while the singletons of this factory are in destruction (Do >> not >> request a bean from a BeanFactory in a destroy method implementation!) >> at >> org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:209) >> at >> org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:261) >> at >> org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:185) >> at >> org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:164) >> at >> org.springframework.context.support.AbstractApplicationContext.getBean(AbstractApplicationContext.java:880) >> at >> org.apache.camel.spring.spi.ApplicationContextRegistry.lookup(ApplicationContextRegistry.java:52) >> at >> org.apache.camel.component.bean.RegistryBean.lookupBean(RegistryBean.java:125) >> at >> org.apache.camel.component.bean.RegistryBean.getBean(RegistryBean.java:56) >> at >> org.apache.camel.component.bean.BeanProcessor.process(BeanProcessor.java:72) >> at >> org.apache.camel.impl.ProcessorEndpoint.onExchange(ProcessorEndpoint.java:95) >> at >> org.apache.camel.impl.ProcessorEndpoint$1.process(ProcessorEndpoint.java:65) >> at >> org.apache.camel.processor.SendProcessor$1.doInProducer(SendProcessor.java:97) >> at >> org.apache.camel.processor.SendProcessor$1.doInProducer(SendProcessor.java:95) >> at >> org.apache.camel.impl.ProducerCache.doInProducer(ProducerCache.java:146) >> at >> org.apache.camel.processor.SendProcessor.doProcess(SendProcessor.java:94) >> at >> org.apache.camel.processor.SendProcessor.process(SendProcessor.java:82) >> at >> org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:67) >> at >> org.apache.camel.processor.DelegateProcessor.processNext(DelegateProcessor.java:53) >> at >> org.apache.camel.processor.DelegateProcessor.proceed(DelegateProcessor.java:82) >> at >> org.apache.camel.processor.interceptor.TraceInterceptor.process(TraceInterceptor.java:93) >> at >> org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:67) >> at >> org.apache.camel.processor.RedeliveryErrorHandler.processExchange(RedeliveryErrorHandler.java:177) >> at >> org.apache.camel.processor.RedeliveryErrorHandler.processErrorHandler(RedeliveryErrorHandler.java:143) >> at >> org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:88) >> at >> org.apache.camel.processor.DefaultErrorHandler.process(DefaultErrorHandler.java:49) >> -- >> View this message in context: >> http://old.nabble.com/Exception-while-trying-to-gracefully-shutdown-camel-tp28689054p28689054.html >> Sent from the Camel - Users mailing list archive at Nabble.com. >> >> > > > > -- > Claus Ibsen > Apache Camel Committer > > Author of Camel in Action: http://www.manning.com/ibsen/ > Open Source Integration: http://fusesource.com > Blog: http://davsclaus.blogspot.com/ > Twitter: http://twitter.com/davsclaus > > -- View this message in context: http://old.nabble.com/Exception-while-trying-to-gracefully-shutdown-camel-tp28689054p28689850.html Sent from the Camel - Users mailing list archive at Nabble.com.
