camel-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Claus Ibsen <claus.ib...@gmail.com>
Subject Re: Exception while trying to gracefully shutdown camel
Date Thu, 27 May 2010 06:12:49 GMT
Hi

I wonder if Spring has shutdown some of the JPA beans before it ask
Camel to shutdown.
So you may have to add some options on the spring beans. I wonder if
the depends-on="camel" Spring attribute can be used so Spring will
shutdown those spring beans AFTER camel.

On Thu, May 27, 2010 at 5:21 AM, vcheruvu <vid.cheruvu@macquarie.com> 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

Mime
View raw message