[ https://issues.apache.org/jira/browse/CAMEL-21467?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17901103#comment-17901103 ]
Claus Ibsen commented on CAMEL-21467: ------------------------------------- Can you tell us more about the custom bean you store in PROPERTY_REQUEST Can you tell if this bean is big or small and how many fields/methods etc it has > Simple expressions execute forever. Thread is RUNNABLE for ever. Issue > appears with bean expressions inside simple expressions on SimpleLRUCache > ------------------------------------------------------------------------------------------------------------------------------------------------ > > Key: CAMEL-21467 > URL: https://issues.apache.org/jira/browse/CAMEL-21467 > Project: Camel > Issue Type: Bug > Components: camel-core > Affects Versions: 4.8.1 > Reporter: Jannik Schmeier > Priority: Major > Fix For: 4.8.2, 4.9.0 > > > Similar to CAMEL-21432, occasionally my camel route gets stuck on > SimpleLRUCache. > The thread dump suggests, that this has to do with simple and bean > expressions. I've had two encounters with this issue in two different > applications: > *First encounter:* > "Camel (camel-1) thread #2 - JmsConsumer[<hidden>]" - Thread t@58 > java.lang.Thread.State: RUNNABLE > at > org.apache.camel.support.cache.SimpleLRUCache$OperationContext.close(SimpleLRUCache.java:318) > at > org.apache.camel.support.cache.SimpleLRUCache.put(SimpleLRUCache.java:106) > at > org.apache.camel.support.cache.SimpleSoftCache.put(SimpleSoftCache.java:114) > at > org.apache.camel.component.bean.BeanComponent.addBeanInfoToCache(BeanComponent.java:96) > at org.apache.camel.component.bean.BeanInfo.<init>(BeanInfo.java:169) > at > org.apache.camel.component.bean.ConstantBeanHolder.<init>(ConstantBeanHolder.java:50) > at > org.apache.camel.language.bean.BeanExpression.invokeOgnlMethod(BeanExpression.java:435) > at > org.apache.camel.language.bean.BeanExpression.evaluate(BeanExpression.java:218) > at > org.apache.camel.language.bean.BeanExpression.evaluate(BeanExpression.java:232) > at > org.apache.camel.language.simple.SimpleExpressionBuilder$KeyedOgnlExpressionAdapter.evaluate(SimpleExpressionBuilder.java:1253) > at > org.apache.camel.support.ExpressionAdapter.evaluate(ExpressionAdapter.java:45) > at > org.apache.camel.model.language.ExpressionDefinition.evaluate(ExpressionDefinition.java:252) > at > org.apache.camel.support.builder.ValueBuilder.evaluate(ValueBuilder.java:55) > at > org.apache.camel.support.builder.BinaryPredicateSupport.matchesReturningFailureMessage(BinaryPredicateSupport.java:67) > at > org.apache.camel.support.builder.BinaryPredicateSupport.matches(BinaryPredicateSupport.java:56) > at > org.apache.camel.processor.FilterProcessor.matches(FilterProcessor.java:89) > at > org.apache.camel.processor.FilterProcessor.process(FilterProcessor.java:72) > at > org.apache.camel.processor.errorhandler.RedeliveryErrorHandler$RedeliveryTask.doRun(RedeliveryErrorHandler.java:808) > at > org.apache.camel.processor.errorhandler.RedeliveryErrorHandler$RedeliveryTask.run(RedeliveryErrorHandler.java:714) > at > org.apache.camel.impl.engine.DefaultReactiveExecutor$Worker.executeFromQueue(DefaultReactiveExecutor.java:240) > at > org.apache.camel.impl.engine.DefaultReactiveExecutor.executeFromQueue(DefaultReactiveExecutor.java:77) > at > org.apache.camel.impl.engine.DefaultAsyncProcessorAwaitManager.await(DefaultAsyncProcessorAwaitManager.java:95) > at > org.apache.camel.impl.engine.DefaultAsyncProcessorAwaitManager.process(DefaultAsyncProcessorAwaitManager.java:84) > at > org.apache.camel.processor.errorhandler.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:178) > at > org.apache.camel.impl.engine.CamelInternalProcessor.processTransacted(CamelInternalProcessor.java:390) > at > org.apache.camel.impl.engine.CamelInternalProcessor.process(CamelInternalProcessor.java:320) > at org.apache.camel.processor.Pipeline$PipelineTask.run(Pipeline.java:102) > at > org.apache.camel.impl.engine.DefaultReactiveExecutor$Worker.executeFromQueue(DefaultReactiveExecutor.java:240) > at > org.apache.camel.impl.engine.DefaultReactiveExecutor.executeFromQueue(DefaultReactiveExecutor.java:77) > at > org.apache.camel.impl.engine.DefaultAsyncProcessorAwaitManager.await(DefaultAsyncProcessorAwaitManager.java:95) > at > org.apache.camel.impl.engine.DefaultAsyncProcessorAwaitManager.process(DefaultAsyncProcessorAwaitManager.java:84) > at > org.apache.camel.spring.spi.TransactionErrorHandler.processByErrorHandler(TransactionErrorHandler.java:244) > at > org.apache.camel.spring.spi.TransactionErrorHandler.process(TransactionErrorHandler.java:119) > at > org.apache.camel.spring.spi.TransactionErrorHandler.process(TransactionErrorHandler.java:132) > at > org.apache.camel.processor.errorhandler.RedeliveryErrorHandler$RedeliveryTask.doRun(RedeliveryErrorHandler.java:808) > at > org.apache.camel.processor.errorhandler.RedeliveryErrorHandler$RedeliveryTask.run(RedeliveryErrorHandler.java:714) > at > org.apache.camel.impl.engine.DefaultReactiveExecutor$Worker.executeFromQueue(DefaultReactiveExecutor.java:240) > at > org.apache.camel.impl.engine.DefaultReactiveExecutor.executeFromQueue(DefaultReactiveExecutor.java:77) > at > org.apache.camel.impl.engine.DefaultAsyncProcessorAwaitManager.await(DefaultAsyncProcessorAwaitManager.java:95) > at > org.apache.camel.impl.engine.DefaultAsyncProcessorAwaitManager.process(DefaultAsyncProcessorAwaitManager.java:84) > at > org.apache.camel.spring.spi.TransactionErrorHandler.processByErrorHandler(TransactionErrorHandler.java:244) > at > org.apache.camel.spring.spi.TransactionErrorHandler$1.doInTransactionWithoutResult(TransactionErrorHandler.java:207) > at > org.springframework.transaction.support.TransactionCallbackWithoutResult.doInTransaction(TransactionCallbackWithoutResult.java:36) > at > org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:140) > at > org.apache.camel.spring.spi.TransactionErrorHandler.doInTransactionTemplate(TransactionErrorHandler.java:200) > at > org.apache.camel.spring.spi.TransactionErrorHandler.processInTransaction(TransactionErrorHandler.java:155) > at > org.apache.camel.spring.spi.TransactionErrorHandler.process(TransactionErrorHandler.java:123) > at > org.apache.camel.impl.engine.CamelInternalProcessor.processTransacted(CamelInternalProcessor.java:390) > at > org.apache.camel.impl.engine.CamelInternalProcessor.process(CamelInternalProcessor.java:320) > at org.apache.camel.processor.Pipeline$PipelineTask.run(Pipeline.java:102) > at > org.apache.camel.impl.engine.DefaultReactiveExecutor$Worker.executeFromQueue(DefaultReactiveExecutor.java:240) > at > org.apache.camel.impl.engine.DefaultReactiveExecutor.executeFromQueue(DefaultReactiveExecutor.java:77) > at > org.apache.camel.impl.engine.DefaultAsyncProcessorAwaitManager.await(DefaultAsyncProcessorAwaitManager.java:95) > at > org.apache.camel.impl.engine.DefaultAsyncProcessorAwaitManager.process(DefaultAsyncProcessorAwaitManager.java:84) > at > org.apache.camel.support.AsyncProcessorSupport.process(AsyncProcessorSupport.java:32) > at > org.apache.camel.impl.engine.CamelInternalProcessor.processTransacted(CamelInternalProcessor.java:390) > at > org.apache.camel.impl.engine.CamelInternalProcessor.process(CamelInternalProcessor.java:320) > at > org.apache.camel.component.direct.DirectProducer.process(DirectProducer.java:96) > at > org.apache.camel.processor.SendProcessor.process(SendProcessor.java:208) > at > org.apache.camel.processor.errorhandler.RedeliveryErrorHandler$RedeliveryTask.doRun(RedeliveryErrorHandler.java:808) > at > org.apache.camel.processor.errorhandler.RedeliveryErrorHandler$RedeliveryTask.run(RedeliveryErrorHandler.java:714) > at > org.apache.camel.impl.engine.DefaultReactiveExecutor$Worker.executeFromQueue(DefaultReactiveExecutor.java:240) > at > org.apache.camel.impl.engine.DefaultReactiveExecutor.executeFromQueue(DefaultReactiveExecutor.java:77) > at > org.apache.camel.impl.engine.DefaultAsyncProcessorAwaitManager.await(DefaultAsyncProcessorAwaitManager.java:95) > at > org.apache.camel.impl.engine.DefaultAsyncProcessorAwaitManager.process(DefaultAsyncProcessorAwaitManager.java:84) > at > org.apache.camel.processor.errorhandler.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:178) > at > org.apache.camel.impl.engine.CamelInternalProcessor.processTransacted(CamelInternalProcessor.java:390) > at > org.apache.camel.impl.engine.CamelInternalProcessor.process(CamelInternalProcessor.java:320) > at org.apache.camel.processor.Pipeline$PipelineTask.run(Pipeline.java:102) > at > org.apache.camel.impl.engine.DefaultReactiveExecutor$Worker.executeFromQueue(DefaultReactiveExecutor.java:240) > at > org.apache.camel.impl.engine.DefaultReactiveExecutor.executeFromQueue(DefaultReactiveExecutor.java:77) > at > org.apache.camel.impl.engine.DefaultAsyncProcessorAwaitManager.await(DefaultAsyncProcessorAwaitManager.java:95) > at > org.apache.camel.impl.engine.DefaultAsyncProcessorAwaitManager.process(DefaultAsyncProcessorAwaitManager.java:84) > at > org.apache.camel.processor.errorhandler.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:178) > at > org.apache.camel.impl.engine.CamelInternalProcessor.processTransacted(CamelInternalProcessor.java:390) > at > org.apache.camel.impl.engine.CamelInternalProcessor.process(CamelInternalProcessor.java:320) > at > org.apache.camel.processor.errorhandler.RedeliveryErrorHandler$RedeliveryTask.doRun(RedeliveryErrorHandler.java:808) > at > org.apache.camel.processor.errorhandler.RedeliveryErrorHandler$RedeliveryTask.run(RedeliveryErrorHandler.java:714) > at > org.apache.camel.impl.engine.DefaultReactiveExecutor$Worker.executeFromQueue(DefaultReactiveExecutor.java:240) > at > org.apache.camel.impl.engine.DefaultReactiveExecutor.executeFromQueue(DefaultReactiveExecutor.java:77) > at > org.apache.camel.impl.engine.DefaultAsyncProcessorAwaitManager.await(DefaultAsyncProcessorAwaitManager.java:95) > at > org.apache.camel.impl.engine.DefaultAsyncProcessorAwaitManager.process(DefaultAsyncProcessorAwaitManager.java:84) > at > org.apache.camel.spring.spi.TransactionErrorHandler.processByErrorHandler(TransactionErrorHandler.java:244) > at > org.apache.camel.spring.spi.TransactionErrorHandler.process(TransactionErrorHandler.java:119) > at > org.apache.camel.spring.spi.TransactionErrorHandler.process(TransactionErrorHandler.java:132) > at > org.apache.camel.processor.errorhandler.RedeliveryErrorHandler$RedeliveryTask.doRun(RedeliveryErrorHandler.java:808) > at > org.apache.camel.processor.errorhandler.RedeliveryErrorHandler$RedeliveryTask.run(RedeliveryErrorHandler.java:714) > at > org.apache.camel.impl.engine.DefaultReactiveExecutor$Worker.executeFromQueue(DefaultReactiveExecutor.java:240) > at > org.apache.camel.impl.engine.DefaultReactiveExecutor.executeFromQueue(DefaultReactiveExecutor.java:77) > at > org.apache.camel.impl.engine.DefaultAsyncProcessorAwaitManager.await(DefaultAsyncProcessorAwaitManager.java:95) > at > org.apache.camel.impl.engine.DefaultAsyncProcessorAwaitManager.process(DefaultAsyncProcessorAwaitManager.java:84) > at > org.apache.camel.spring.spi.TransactionErrorHandler.processByErrorHandler(TransactionErrorHandler.java:244) > at > org.apache.camel.spring.spi.TransactionErrorHandler$1.doInTransactionWithoutResult(TransactionErrorHandler.java:207) > at > org.springframework.transaction.support.TransactionCallbackWithoutResult.doInTransaction(TransactionCallbackWithoutResult.java:36) > at > org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:140) > at > org.apache.camel.spring.spi.TransactionErrorHandler.doInTransactionTemplate(TransactionErrorHandler.java:200) > at > org.apache.camel.spring.spi.TransactionErrorHandler.processInTransaction(TransactionErrorHandler.java:155) > at > org.apache.camel.spring.spi.TransactionErrorHandler.process(TransactionErrorHandler.java:123) > at > org.apache.camel.spring.spi.TransactionErrorHandler.process(TransactionErrorHandler.java:132) > at > org.apache.camel.impl.engine.CamelInternalProcessor.processNonTransacted(CamelInternalProcessor.java:347) > at > org.apache.camel.impl.engine.CamelInternalProcessor.process(CamelInternalProcessor.java:323) > at org.apache.camel.processor.Pipeline$PipelineTask.run(Pipeline.java:102) > at > org.apache.camel.impl.engine.DefaultReactiveExecutor$Worker.doRun(DefaultReactiveExecutor.java:199) > at > org.apache.camel.impl.engine.DefaultReactiveExecutor$Worker.executeReactiveWork(DefaultReactiveExecutor.java:189) > at > org.apache.camel.impl.engine.DefaultReactiveExecutor$Worker.tryExecuteReactiveWork(DefaultReactiveExecutor.java:166) > at > org.apache.camel.impl.engine.DefaultReactiveExecutor$Worker.schedule(DefaultReactiveExecutor.java:148) > at > org.apache.camel.impl.engine.DefaultReactiveExecutor.scheduleMain(DefaultReactiveExecutor.java:59) > at org.apache.camel.processor.Pipeline.process(Pipeline.java:163) > at > org.apache.camel.impl.engine.CamelInternalProcessor.processNonTransacted(CamelInternalProcessor.java:347) > at > org.apache.camel.impl.engine.CamelInternalProcessor.process(CamelInternalProcessor.java:323) > at > org.apache.camel.impl.engine.DefaultAsyncProcessorAwaitManager.process(DefaultAsyncProcessorAwaitManager.java:82) > at > org.apache.camel.support.AsyncProcessorSupport.process(AsyncProcessorSupport.java:32) > at > org.apache.camel.component.jms.EndpointMessageListener.onMessage(EndpointMessageListener.java:132) > at > org.springframework.jms.listener.AbstractMessageListenerContainer.doInvokeListener(AbstractMessageListenerContainer.java:787) > at > org.springframework.jms.listener.AbstractMessageListenerContainer.invokeListener(AbstractMessageListenerContainer.java:742) > at > org.springframework.jms.listener.AbstractMessageListenerContainer.doExecuteListener(AbstractMessageListenerContainer.java:720) > at > org.springframework.jms.listener.AbstractPollingMessageListenerContainer.doReceiveAndExecute(AbstractPollingMessageListenerContainer.java:333) > at > org.springframework.jms.listener.AbstractPollingMessageListenerContainer.receiveAndExecute(AbstractPollingMessageListenerContainer.java:246) > at > org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.invokeListener(DefaultMessageListenerContainer.java:1257) > at > org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.executeOngoingLoop(DefaultMessageListenerContainer.java:1247) > at > org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.run(DefaultMessageListenerContainer.java:1140) > at > java.base@21.0.2/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144) > at > java.base@21.0.2/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642) > at java.base@21.0.2/java.lang.Thread.runWith(Thread.java:1596) > at java.base@21.0.2/java.lang.Thread.run(Thread.java:1583) > > > *Second encounter:* > "Camel (camel-1) thread #4 - timer://my-timer" - Thread t@63 > java.lang.Thread.State: RUNNABLE > at > org.apache.camel.support.cache.SimpleLRUCache$OperationContext.close(SimpleLRUCache.java:318) > at > org.apache.camel.support.cache.SimpleLRUCache.put(SimpleLRUCache.java:106) > at > org.apache.camel.support.cache.SimpleSoftCache.put(SimpleSoftCache.java:114) > at > org.apache.camel.component.bean.BeanComponent.addBeanInfoToCache(BeanComponent.java:96) > at org.apache.camel.component.bean.BeanInfo.<init>(BeanInfo.java:169) > at > org.apache.camel.component.bean.ConstantBeanHolder.<init>(ConstantBeanHolder.java:50) > at > org.apache.camel.language.bean.BeanExpression.createBeanHolder(BeanExpression.java:303) > at > org.apache.camel.language.bean.BeanExpression.init(BeanExpression.java:175) > at > org.apache.camel.language.bean.BeanLanguage.createExpression(BeanLanguage.java:148) > at > org.apache.camel.language.simple.SimpleExpressionBuilder$KeyedOgnlExpressionAdapter.evaluate(SimpleExpressionBuilder.java:1251) > at > org.apache.camel.support.ExpressionAdapter.evaluate(ExpressionAdapter.java:45) > at > org.apache.camel.support.builder.ExpressionBuilder$62.evaluate(ExpressionBuilder.java:2105) > at > org.apache.camel.support.ExpressionAdapter.evaluate(ExpressionAdapter.java:45) > at org.apache.camel.processor.LogProcessor.process(LogProcessor.java:71) > at > org.apache.camel.processor.errorhandler.RedeliveryErrorHandler$RedeliveryTask.doRun(RedeliveryErrorHandler.java:808) > at > org.apache.camel.processor.errorhandler.RedeliveryErrorHandler$RedeliveryTask.run(RedeliveryErrorHandler.java:714) > at > org.apache.camel.impl.engine.DefaultReactiveExecutor$Worker.executeFromQueue(DefaultReactiveExecutor.java:240) > at > org.apache.camel.impl.engine.DefaultReactiveExecutor.executeFromQueue(DefaultReactiveExecutor.java:77) > at > org.apache.camel.impl.engine.DefaultAsyncProcessorAwaitManager.await(DefaultAsyncProcessorAwaitManager.java:95) > at > org.apache.camel.impl.engine.DefaultAsyncProcessorAwaitManager.process(DefaultAsyncProcessorAwaitManager.java:84) > at > org.apache.camel.processor.errorhandler.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:178) > at > org.apache.camel.impl.engine.CamelInternalProcessor.processTransacted(CamelInternalProcessor.java:390) > at > org.apache.camel.impl.engine.CamelInternalProcessor.process(CamelInternalProcessor.java:320) > at > org.apache.camel.processor.ChoiceProcessor.process(ChoiceProcessor.java:95) > at > org.apache.camel.processor.errorhandler.RedeliveryErrorHandler$RedeliveryTask.doRun(RedeliveryErrorHandler.java:808) > at > org.apache.camel.processor.errorhandler.RedeliveryErrorHandler$RedeliveryTask.run(RedeliveryErrorHandler.java:714) > at > org.apache.camel.impl.engine.DefaultReactiveExecutor$Worker.executeFromQueue(DefaultReactiveExecutor.java:240) > at > org.apache.camel.impl.engine.DefaultReactiveExecutor.executeFromQueue(DefaultReactiveExecutor.java:77) > at > org.apache.camel.impl.engine.DefaultAsyncProcessorAwaitManager.await(DefaultAsyncProcessorAwaitManager.java:95) > at > org.apache.camel.impl.engine.DefaultAsyncProcessorAwaitManager.process(DefaultAsyncProcessorAwaitManager.java:84) > at > org.apache.camel.processor.errorhandler.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:178) > at > org.apache.camel.impl.engine.CamelInternalProcessor.processTransacted(CamelInternalProcessor.java:390) > at > org.apache.camel.impl.engine.CamelInternalProcessor.process(CamelInternalProcessor.java:320) > at org.apache.camel.processor.Pipeline$PipelineTask.run(Pipeline.java:102) > at > org.apache.camel.impl.engine.DefaultReactiveExecutor$Worker.executeFromQueue(DefaultReactiveExecutor.java:240) > at > org.apache.camel.impl.engine.DefaultReactiveExecutor.executeFromQueue(DefaultReactiveExecutor.java:77) > at > org.apache.camel.impl.engine.DefaultAsyncProcessorAwaitManager.await(DefaultAsyncProcessorAwaitManager.java:95) > at > org.apache.camel.impl.engine.DefaultAsyncProcessorAwaitManager.process(DefaultAsyncProcessorAwaitManager.java:84) > at > org.apache.camel.spring.spi.TransactionErrorHandler.processByErrorHandler(TransactionErrorHandler.java:244) > at > org.apache.camel.spring.spi.TransactionErrorHandler$1.doInTransactionWithoutResult(TransactionErrorHandler.java:207) > at > org.springframework.transaction.support.TransactionCallbackWithoutResult.doInTransaction(TransactionCallbackWithoutResult.java:36) > at > org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:140) > at > org.apache.camel.spring.spi.TransactionErrorHandler.doInTransactionTemplate(TransactionErrorHandler.java:200) > at > org.apache.camel.spring.spi.TransactionErrorHandler.processInTransaction(TransactionErrorHandler.java:155) > at > org.apache.camel.spring.spi.TransactionErrorHandler.process(TransactionErrorHandler.java:123) > at > org.apache.camel.spring.spi.TransactionErrorHandler.process(TransactionErrorHandler.java:132) > at > org.apache.camel.processor.errorhandler.RedeliveryErrorHandler$RedeliveryTask.doRun(RedeliveryErrorHandler.java:808) > at > org.apache.camel.processor.errorhandler.RedeliveryErrorHandler$RedeliveryTask.run(RedeliveryErrorHandler.java:714) > at > org.apache.camel.impl.engine.DefaultReactiveExecutor$Worker.executeFromQueue(DefaultReactiveExecutor.java:240) > at > org.apache.camel.impl.engine.DefaultReactiveExecutor.executeFromQueue(DefaultReactiveExecutor.java:77) > at > org.apache.camel.impl.engine.DefaultAsyncProcessorAwaitManager.await(DefaultAsyncProcessorAwaitManager.java:95) > at > org.apache.camel.impl.engine.DefaultAsyncProcessorAwaitManager.process(DefaultAsyncProcessorAwaitManager.java:84) > at > org.apache.camel.spring.spi.TransactionErrorHandler.processByErrorHandler(TransactionErrorHandler.java:244) > at > org.apache.camel.spring.spi.TransactionErrorHandler$1.doInTransactionWithoutResult(TransactionErrorHandler.java:207) > at > org.springframework.transaction.support.TransactionCallbackWithoutResult.doInTransaction(TransactionCallbackWithoutResult.java:36) > at > org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:140) > at > org.apache.camel.spring.spi.TransactionErrorHandler.doInTransactionTemplate(TransactionErrorHandler.java:200) > at > org.apache.camel.spring.spi.TransactionErrorHandler.processInTransaction(TransactionErrorHandler.java:155) > at > org.apache.camel.spring.spi.TransactionErrorHandler.process(TransactionErrorHandler.java:123) > at > org.apache.camel.impl.engine.CamelInternalProcessor.processTransacted(CamelInternalProcessor.java:390) > at > org.apache.camel.impl.engine.CamelInternalProcessor.process(CamelInternalProcessor.java:320) > at org.apache.camel.processor.Pipeline$PipelineTask.run(Pipeline.java:102) > at > org.apache.camel.impl.engine.DefaultReactiveExecutor$Worker.executeFromQueue(DefaultReactiveExecutor.java:240) > at > org.apache.camel.impl.engine.DefaultReactiveExecutor.executeFromQueue(DefaultReactiveExecutor.java:77) > at > org.apache.camel.impl.engine.DefaultAsyncProcessorAwaitManager.await(DefaultAsyncProcessorAwaitManager.java:95) > at > org.apache.camel.impl.engine.DefaultAsyncProcessorAwaitManager.process(DefaultAsyncProcessorAwaitManager.java:84) > at > org.apache.camel.support.AsyncProcessorSupport.process(AsyncProcessorSupport.java:32) > at > org.apache.camel.impl.engine.CamelInternalProcessor.processTransacted(CamelInternalProcessor.java:390) > at > org.apache.camel.impl.engine.CamelInternalProcessor.process(CamelInternalProcessor.java:320) > at > org.apache.camel.component.direct.DirectProducer.process(DirectProducer.java:96) > at > org.apache.camel.processor.SendProcessor.process(SendProcessor.java:208) > at > org.apache.camel.processor.errorhandler.RedeliveryErrorHandler$RedeliveryTask.doRun(RedeliveryErrorHandler.java:808) > at > org.apache.camel.processor.errorhandler.RedeliveryErrorHandler$RedeliveryTask.run(RedeliveryErrorHandler.java:714) > at > org.apache.camel.impl.engine.DefaultReactiveExecutor$Worker.executeFromQueue(DefaultReactiveExecutor.java:240) > at > org.apache.camel.impl.engine.DefaultReactiveExecutor.executeFromQueue(DefaultReactiveExecutor.java:77) > at > org.apache.camel.impl.engine.DefaultAsyncProcessorAwaitManager.await(DefaultAsyncProcessorAwaitManager.java:95) > at > org.apache.camel.impl.engine.DefaultAsyncProcessorAwaitManager.process(DefaultAsyncProcessorAwaitManager.java:84) > at > org.apache.camel.processor.errorhandler.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:178) > at > org.apache.camel.impl.engine.CamelInternalProcessor.processTransacted(CamelInternalProcessor.java:390) > at > org.apache.camel.impl.engine.CamelInternalProcessor.process(CamelInternalProcessor.java:320) > at org.apache.camel.processor.Pipeline$PipelineTask.run(Pipeline.java:102) > at > org.apache.camel.impl.engine.DefaultReactiveExecutor$Worker.executeFromQueue(DefaultReactiveExecutor.java:240) > at > org.apache.camel.impl.engine.DefaultReactiveExecutor.executeFromQueue(DefaultReactiveExecutor.java:77) > at > org.apache.camel.impl.engine.DefaultAsyncProcessorAwaitManager.await(DefaultAsyncProcessorAwaitManager.java:95) > at > org.apache.camel.impl.engine.DefaultAsyncProcessorAwaitManager.process(DefaultAsyncProcessorAwaitManager.java:84) > at > org.apache.camel.support.AsyncProcessorSupport.process(AsyncProcessorSupport.java:32) > at > org.apache.camel.impl.engine.CamelInternalProcessor.processTransacted(CamelInternalProcessor.java:390) > at > org.apache.camel.impl.engine.CamelInternalProcessor.process(CamelInternalProcessor.java:320) > at > org.apache.camel.component.direct.DirectProducer.process(DirectProducer.java:96) > at > org.apache.camel.processor.SendProcessor.process(SendProcessor.java:208) > at > org.apache.camel.processor.errorhandler.RedeliveryErrorHandler$RedeliveryTask.doRun(RedeliveryErrorHandler.java:808) > at > org.apache.camel.processor.errorhandler.RedeliveryErrorHandler$RedeliveryTask.run(RedeliveryErrorHandler.java:714) > at > org.apache.camel.impl.engine.DefaultReactiveExecutor$Worker.executeFromQueue(DefaultReactiveExecutor.java:240) > at > org.apache.camel.impl.engine.DefaultReactiveExecutor.executeFromQueue(DefaultReactiveExecutor.java:77) > at > org.apache.camel.impl.engine.DefaultAsyncProcessorAwaitManager.await(DefaultAsyncProcessorAwaitManager.java:95) > at > org.apache.camel.impl.engine.DefaultAsyncProcessorAwaitManager.process(DefaultAsyncProcessorAwaitManager.java:84) > at > org.apache.camel.processor.errorhandler.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:178) > at > org.apache.camel.impl.engine.CamelInternalProcessor.processTransacted(CamelInternalProcessor.java:390) > at > org.apache.camel.impl.engine.CamelInternalProcessor.process(CamelInternalProcessor.java:320) > at org.apache.camel.processor.Pipeline$PipelineTask.run(Pipeline.java:102) > at > org.apache.camel.impl.engine.DefaultReactiveExecutor$Worker.executeFromQueue(DefaultReactiveExecutor.java:240) > at > org.apache.camel.impl.engine.DefaultReactiveExecutor.executeFromQueue(DefaultReactiveExecutor.java:77) > at > org.apache.camel.impl.engine.DefaultAsyncProcessorAwaitManager.await(DefaultAsyncProcessorAwaitManager.java:95) > at > org.apache.camel.impl.engine.DefaultAsyncProcessorAwaitManager.process(DefaultAsyncProcessorAwaitManager.java:84) > at > org.apache.camel.processor.errorhandler.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:178) > at > org.apache.camel.impl.engine.CamelInternalProcessor.processTransacted(CamelInternalProcessor.java:390) > at > org.apache.camel.impl.engine.CamelInternalProcessor.process(CamelInternalProcessor.java:320) > at org.apache.camel.processor.Pipeline$PipelineTask.run(Pipeline.java:102) > at > org.apache.camel.impl.engine.DefaultReactiveExecutor$Worker.executeFromQueue(DefaultReactiveExecutor.java:240) > at > org.apache.camel.impl.engine.DefaultReactiveExecutor.executeFromQueue(DefaultReactiveExecutor.java:77) > at > org.apache.camel.impl.engine.DefaultAsyncProcessorAwaitManager.await(DefaultAsyncProcessorAwaitManager.java:95) > at > org.apache.camel.impl.engine.DefaultAsyncProcessorAwaitManager.process(DefaultAsyncProcessorAwaitManager.java:84) > at > org.apache.camel.spring.spi.TransactionErrorHandler.processByErrorHandler(TransactionErrorHandler.java:244) > at > org.apache.camel.spring.spi.TransactionErrorHandler.process(TransactionErrorHandler.java:119) > at > org.apache.camel.spring.spi.TransactionErrorHandler.process(TransactionErrorHandler.java:132) > at > org.apache.camel.processor.errorhandler.RedeliveryErrorHandler$RedeliveryTask.doRun(RedeliveryErrorHandler.java:808) > at > org.apache.camel.processor.errorhandler.RedeliveryErrorHandler$RedeliveryTask.run(RedeliveryErrorHandler.java:714) > at > org.apache.camel.impl.engine.DefaultReactiveExecutor$Worker.executeFromQueue(DefaultReactiveExecutor.java:240) > at > org.apache.camel.impl.engine.DefaultReactiveExecutor.executeFromQueue(DefaultReactiveExecutor.java:77) > at > org.apache.camel.impl.engine.DefaultAsyncProcessorAwaitManager.await(DefaultAsyncProcessorAwaitManager.java:95) > at > org.apache.camel.impl.engine.DefaultAsyncProcessorAwaitManager.process(DefaultAsyncProcessorAwaitManager.java:84) > at > org.apache.camel.spring.spi.TransactionErrorHandler.processByErrorHandler(TransactionErrorHandler.java:244) > at > org.apache.camel.spring.spi.TransactionErrorHandler$1.doInTransactionWithoutResult(TransactionErrorHandler.java:207) > at > org.springframework.transaction.support.TransactionCallbackWithoutResult.doInTransaction(TransactionCallbackWithoutResult.java:36) > at > org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:140) > at > org.apache.camel.spring.spi.TransactionErrorHandler.doInTransactionTemplate(TransactionErrorHandler.java:200) > at > org.apache.camel.spring.spi.TransactionErrorHandler.processInTransaction(TransactionErrorHandler.java:155) > at > org.apache.camel.spring.spi.TransactionErrorHandler.process(TransactionErrorHandler.java:123) > at > org.apache.camel.spring.spi.TransactionErrorHandler.process(TransactionErrorHandler.java:132) > at > org.apache.camel.impl.engine.CamelInternalProcessor.processNonTransacted(CamelInternalProcessor.java:347) > at > org.apache.camel.impl.engine.CamelInternalProcessor.process(CamelInternalProcessor.java:323) > at org.apache.camel.processor.Pipeline$PipelineTask.run(Pipeline.java:102) > at > org.apache.camel.impl.engine.DefaultReactiveExecutor$Worker.doRun(DefaultReactiveExecutor.java:199) > at > org.apache.camel.impl.engine.DefaultReactiveExecutor$Worker.executeReactiveWork(DefaultReactiveExecutor.java:189) > at > org.apache.camel.impl.engine.DefaultReactiveExecutor$Worker.tryExecuteReactiveWork(DefaultReactiveExecutor.java:166) > at > org.apache.camel.impl.engine.DefaultReactiveExecutor$Worker.schedule(DefaultReactiveExecutor.java:148) > at > org.apache.camel.impl.engine.DefaultReactiveExecutor.scheduleMain(DefaultReactiveExecutor.java:59) > at org.apache.camel.processor.Pipeline.process(Pipeline.java:163) > at > org.apache.camel.impl.engine.CamelInternalProcessor.processNonTransacted(CamelInternalProcessor.java:347) > at > org.apache.camel.impl.engine.CamelInternalProcessor.process(CamelInternalProcessor.java:323) > at > org.apache.camel.component.timer.TimerConsumer.sendTimerExchange(TimerConsumer.java:293) > at > org.apache.camel.component.timer.TimerConsumer$1.doRun(TimerConsumer.java:164) > at > org.apache.camel.component.timer.TimerConsumer$1.run(TimerConsumer.java:136) > at java.base@21.0.2/java.util.TimerThread.mainLoop(Timer.java:566) > at java.base@21.0.2/java.util.TimerThread.run(Timer.java:516) > Looking at the stacktrace can't quite make out exactly where in my route this > occurrs. But I think the first one occurrs here, as there is a filter and > simple expression and the bean expression probably is being created > implicitly by Camel under the hood? > {code:java} > Predicate isDataMessage = PredicateBuilder.isEqualTo( > simple("${exchangeProperty." + PROPERTY_REQUEST + ".status}"), > constant(StockRequestStatus.DATA)); > from(direct(getMessageProcessRouteId())) > .routeId(getMessageProcessRouteId()) > .startupOrder(16) > .policy(txJdbcPropagationRequired) > .to(direct(getMessageAnalyzeRouteId())) > .filter(isDataMessage) > .to(direct(getMessageParseRouteId())) > .to(direct(getMessageMapRouteId())); {code} > > The second one seems to be related to logging and according to the choice > processor, it might happen here: > {code:java} > from(direct(getDeliverRecipientRouteId())) > .routeId(getDeliverRecipientRouteId()) > .startupOrder(1) > .policy(txJmsPropagationRequiresNew) > .choice() > .when(not(isPageable)) > .log(LoggingLevel.INFO, log, "--- Sending data message to > queue=" + getRecipientQueueName()) > .when(currentStatusIs(StockRequestStatus.DATA)) > .log(LoggingLevel.INFO, log, "--- Sending data message for > page=${exchangeProperty." > + Exchange.LOOP_INDEX + "} to queue=" + > getRecipientQueueName()) > .otherwise() > .log(LoggingLevel.INFO, log, "--- Sending control message for > status=${exchangeProperty." > + PROPERTY_REQUEST + ".status} to queue=" + > getRecipientQueueName()) > .end() > .convertBodyTo(String.class) > .to(getJmsUriToRecipientQueue());{code} > > -- This message was sent by Atlassian Jira (v8.20.10#820010)