[ https://issues.apache.org/jira/browse/CAMEL-7668?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14110500#comment-14110500 ]
Claus Ibsen commented on CAMEL-7668: ------------------------------------ This is the pojo example btw that is shipped with Apache Camel. > @Consume may restart during a shutdown event > -------------------------------------------- > > Key: CAMEL-7668 > URL: https://issues.apache.org/jira/browse/CAMEL-7668 > Project: Camel > Issue Type: Improvement > Components: camel-core > Reporter: Claus Ibsen > Assignee: Claus Ibsen > Priority: Minor > Fix For: 2.14.0 > > > When using POJO consuming and we shutdown CamelContext and if by chance > something hangs, such as the JMS shutdown (see other tickets) then the file > endpoint may be stopped but the POJO consumer is still running (not shutdown) > and this causes the idempotent repo to reset its state, and the POJO consumer > will then pickup the same files again. > eg as demonstrated by the pojo example > {code} > 2014-08-07 14:17:49,909 [file://src/data] INFO SendFileRecordsToQueueBean > - Incoming file: message1.xml > 2014-08-07 14:17:49,945 [file://src/data] INFO SendFileRecordsToQueueBean > - Incoming file: message2.xml > 2014-08-07 14:17:49,950 [file://src/data] INFO SendFileRecordsToQueueBean > - Incoming file: message3.xml > 2014-08-07 14:17:49,955 [sonnel.records]] INFO XPathBuilder > - Created default XPathFactory > com.sun.org.apache.xpath.internal.jaxp.XPathFactoryImpl@3e9037f9 > 2014-08-07 14:17:49,996 [sonnel.records]] INFO DistributeRecordsBean > - Person is from EMEA region > 2014-08-07 14:17:50,008 [sonnel.records]] INFO DistributeRecordsBean > - Person is from AMER region > 2014-08-07 14:17:50,014 [sonnel.records]] INFO DistributeRecordsBean > - Person is from AMER region > ^C2014-08-07 14:17:52,237 [Thread-5 ] INFO > MainSupport$HangupInterceptor - Received hang up - stopping the main > instance. > 2014-08-07 14:17:52,237 [Thread-5 ] INFO MainSupport > - Apache Camel 2.14-SNAPSHOT stopping > 2014-08-07 14:17:52,237 [Thread-5 ] INFO > ClassPathXmlApplicationContext - Closing > org.springframework.context.support.ClassPathXmlApplicationContext@1f361707: > startup date [Thu Aug 07 14:17:46 CEST 2014]; root of context hierarchy > 2014-08-07 14:17:52,238 [Thread-5 ] INFO SpringCamelContext > - Apache Camel 2.14-SNAPSHOT (CamelContext: camel-1) is shutting down > 2014-08-07 14:17:52,242 [sonnel.records]] WARN > ultJmsMessageListenerContainer - Setup of JMS message listener invoker failed > for destination 'personnel.records' - trying to recover. Cause: The Session > is closed > 2014-08-07 14:17:52,247 [sonnel.records]] ERROR > ultJmsMessageListenerContainer - Could not refresh JMS Connection for > destination 'personnel.records' - retrying in 5000 ms. Cause: null > 2014-08-07 14:17:52,466 [file://src/data] INFO SendFileRecordsToQueueBean > - Incoming file: message1.xml > 2014-08-07 14:17:52,467 [file://src/data] WARN GenericFileOnCompletion > - Rollback file strategy: > org.apache.camel.component.file.strategy.GenericFileRenameProcessStrategy@693a9769 > for file: GenericFile[message1.xml] > 2014-08-07 14:17:52,469 [file://src/data] INFO SendFileRecordsToQueueBean > - Incoming file: message2.xml > 2014-08-07 14:17:52,469 [file://src/data] WARN GenericFileOnCompletion > - Rollback file strategy: > org.apache.camel.component.file.strategy.GenericFileRenameProcessStrategy@693a9769 > for file: GenericFile[message2.xml] > 2014-08-07 14:17:52,470 [file://src/data] INFO SendFileRecordsToQueueBean > - Incoming file: message3.xml > 2014-08-07 14:17:52,470 [file://src/data] WARN GenericFileOnCompletion > - Rollback file strategy: > org.apache.camel.component.file.strategy.GenericFileRenameProcessStrategy@693a9769 > for file: GenericFile[message3.xml] > 2014-08-07 14:17:52,976 [file://src/data] INFO SendFileRecordsToQueueBean > - Incoming file: message1.xml > 2014-08-07 14:17:52,977 [file://src/data] WARN GenericFileOnCompletion > - Rollback file strategy: > org.apache.camel.component.file.strategy.GenericFileRenameProcessStrategy@693a9769 > for file: GenericFile[message1.xml] > 2014-08-07 14:17:52,978 [file://src/data] INFO SendFileRecordsToQueueBean > - Incoming file: message2.xml > 2014-08-07 14:17:52,979 [file://src/data] WARN GenericFileOnCompletion > - Rollback file strategy: > org.apache.camel.component.file.strategy.GenericFileRenameProcessStrategy@693a9769 > for file: GenericFile[message2.xml] > 2014-08-07 14:17:52,980 [file://src/data] INFO SendFileRecordsToQueueBean > - Incoming file: message3.xml > 2014-08-07 14:17:52,980 [file://src/data] WARN GenericFileOnCompletion > - Rollback file strategy: > org.apache.camel.component.file.strategy.GenericFileRenameProcessStrategy@693a9769 > for file: GenericFile[message3.xml] > 2014-08-07 14:17:53,484 [file://src/data] INFO SendFileRecordsToQueueBean > - Incoming file: message1.xml > 2014-08-07 14:17:53,485 [file://src/data] WARN GenericFileOnCompletion > - Rollback file strategy: > org.apache.camel.component.file.strategy.GenericFileRenameProcessStrategy@693a9769 > for file: GenericFile[message1.xml] > 2014-08-07 14:17:53,487 [file://src/data] INFO SendFileRecordsToQueueBean > - Incoming file: message2.xml > 2014-08-07 14:17:53,487 [file://src/data] WARN GenericFileOnCompletion > - Rollback file strategy: > org.apache.camel.component.file.strategy.GenericFileRenameProcessStrategy@693a9769 > for file: GenericFile[message2.xml] > 2014-08-07 14:17:53,489 [file://src/data] INFO SendFileRecordsToQueueBean > - Incoming file: message3.xml > 2014-08-07 14:17:53,489 [file://src/data] WARN GenericFileOnCompletion > - Rollback file strategy: > org.apache.camel.component.file.strategy.GenericFileRenameProcessStrategy@693a9769 > for file: GenericFile[message3.xml] > 2014-08-07 14:17:53,993 [file://src/data] INFO SendFileRecordsToQueueBean > - Incoming file: message1.xml > 2014-08-07 14:17:53,994 [file://src/data] WARN GenericFileOnCompletion > - Rollback file strategy: > org.apache.camel.component.file.strategy.GenericFileRenameProcessStrategy@693a9769 > for file: GenericFile[message1.xml] > 2014-08-07 14:17:53,995 [file://src/data] INFO SendFileRecordsToQueueBean > - Incoming file: message2.xml > 2014-08-07 14:17:53,996 [file://src/data] WARN GenericFileOnCompletion > - Rollback file strategy: > org.apache.camel.component.file.strategy.GenericFileRenameProcessStrategy@693a9769 > for file: GenericFile[message2.xml] > 2014-08-07 14:17:53,997 [file://src/data] INFO SendFileRecordsToQueueBean > - Incoming file: message3.xml > 2014-08-07 14:17:53,997 [file://src/data] WARN GenericFileOnCompletion > - Rollback file strategy: > org.apache.camel.component.file.strategy.GenericFileRenameProcessStrategy@693a9769 > for file: GenericFile[message3.xml] > 2014-08-07 14:17:54,500 [file://src/data] INFO SendFileRecordsToQueueBean > - Incoming file: message1.xml > 2014-08-07 14:17:54,500 [file://src/data] WARN GenericFileOnCompletion > - Rollback file strategy: > org.apache.camel.component.file.strategy.GenericFileRenameProcessStrategy@693a9769 > for file: GenericFile[message1.xml] > 2014-08-07 14:17:54,502 [file://src/data] INFO SendFileRecordsToQueueBean > - Incoming file: message2.xml > 2014-08-07 14:17:54,502 [file://src/data] WARN GenericFileOnCompletion > - Rollback file strategy: > org.apache.camel.component.file.strategy.GenericFileRenameProcessStrategy@693a9769 > for file: GenericFile[message2.xml] > 2014-08-07 14:17:54,503 [file://src/data] INFO SendFileRecordsToQueueBean > - Incoming file: message3.xml > 2014-08-07 14:17:54,504 [file://src/data] WARN GenericFileOnCompletion > - Rollback file strategy: > org.apache.camel.component.file.strategy.GenericFileRenameProcessStrategy@693a9769 > for file: GenericFile[message3.xml] > 2014-08-07 14:17:55,007 [file://src/data] INFO SendFileRecordsToQueueBean > - Incoming file: message1.xml > 2014-08-07 14:17:55,008 [file://src/data] WARN GenericFileOnCompletion > - Rollback file strategy: > org.apache.camel.component.file.strategy.GenericFileRenameProcessStrategy@693a9769 > for file: GenericFile[message1.xml] > 2014-08-07 14:17:55,009 [file://src/data] INFO SendFileRecordsToQueueBean > - Incoming file: message2.xml > 2014-08-07 14:17:55,009 [file://src/data] WARN GenericFileOnCompletion > - Rollback file strategy: > org.apache.camel.component.file.strategy.GenericFileRenameProcessStrategy@693a9769 > for file: GenericFile[message2.xml] > 2014-08-07 14:17:55,011 [file://src/data] INFO SendFileRecordsToQueueBean > - Incoming file: message3.xml > 2014-08-07 14:17:55,011 [file://src/data] WARN GenericFileOnCompletion > - Rollback file strategy: > org.apache.camel.component.file.strategy.GenericFileRenameProcessStrategy@693a9769 > for file: GenericFile[message3.xml] > 2014-08-07 14:17:55,515 [file://src/data] INFO SendFileRecordsToQueueBean > - Incoming file: message1.xml > 2014-08-07 14:17:55,515 [file://src/data] WARN GenericFileOnCompletion > - Rollback file strategy: > org.apache.camel.component.file.strategy.GenericFileRenameProcessStrategy@693a9769 > for file: GenericFile[message1.xml] > 2014-08-07 14:17:55,517 [file://src/data] INFO SendFileRecordsToQueueBean > - Incoming file: message2.xml > 2014-08-07 14:17:55,517 [file://src/data] WARN GenericFileOnCompletion > - Rollback file strategy: > org.apache.camel.component.file.strategy.GenericFileRenameProcessStrategy@693a9769 > for file: GenericFile[message2.xml] > 2014-08-07 14:17:55,518 [file://src/data] INFO SendFileRecordsToQueueBean > - Incoming file: message3.xml > 2014-08-07 14:17:55,518 [file://src/data] WARN GenericFileOnCompletion > - Rollback file strategy: > org.apache.camel.component.file.strategy.GenericFileRenameProcessStrategy@693a9769 > for file: GenericFile[message3.xml] > 2014-08-07 14:17:56,021 [file://src/data] INFO SendFileRecordsToQueueBean > - Incoming file: message1.xml > 2014-08-07 14:17:56,022 [file://src/data] WARN GenericFileOnCompletion > - Rollback file strategy: > org.apache.camel.component.file.strategy.GenericFileRenameProcessStrategy@693a9769 > for file: GenericFile[message1.xml] > 2014-08-07 14:17:56,023 [file://src/data] INFO SendFileRecordsToQueueBean > - Incoming file: message2.xml > 2014-08-07 14:17:56,024 [file://src/data] WARN GenericFileOnCompletion > - Rollback file strategy: > org.apache.camel.component.file.strategy.GenericFileRenameProcessStrategy@693a9769 > for file: GenericFile[message2.xml] > 2014-08-07 14:17:56,025 [file://src/data] INFO SendFileRecordsToQueueBean > - Incoming file: message3.xml > 2014-08-07 14:17:56,026 [file://src/data] WARN GenericFileOnCompletion > - Rollback file strategy: > org.apache.camel.component.file.strategy.GenericFileRenameProcessStrategy@693a9769 > for file: GenericFile[message3.xml] > 2014-08-07 14:17:56,529 [file://src/data] INFO SendFileRecordsToQueueBean > - Incoming file: message1.xml > 2014-08-07 14:17:56,530 [file://src/data] WARN GenericFileOnCompletion > - Rollback file strategy: > org.apache.camel.component.file.strategy.GenericFileRenameProcessStrategy@693a9769 > for file: GenericFile[message1.xml] > 2014-08-07 14:17:56,531 [file://src/data] INFO SendFileRecordsToQueueBean > - Incoming file: message2.xml > 2014-08-07 14:17:56,532 [file://src/data] WARN GenericFileOnCompletion > - Rollback file strategy: > org.apache.camel.component.file.strategy.GenericFileRenameProcessStrategy@693a9769 > for file: GenericFile[message2.xml] > 2014-08-07 14:17:56,533 [file://src/data] INFO SendFileRecordsToQueueBean > - Incoming file: message3.xml > 2014-08-07 14:17:56,533 [file://src/data] WARN GenericFileOnCompletion > - Rollback file strategy: > org.apache.camel.component.file.strategy.GenericFileRenameProcessStrategy@693a9769 > for file: GenericFile[message3.xml] > 2014-08-07 14:17:57,035 [file://src/data] INFO SendFileRecordsToQueueBean > - Incoming file: message1.xml > 2014-08-07 14:17:57,036 [file://src/data] WARN GenericFileOnCompletion > - Rollback file strategy: > org.apache.camel.component.file.strategy.GenericFileRenameProcessStrategy@693a9769 > for file: GenericFile[message1.xml] > 2014-08-07 14:17:57,037 [file://src/data] INFO SendFileRecordsToQueueBean > - Incoming file: message2.xml > 2014-08-07 14:17:57,037 [file://src/data] WARN GenericFileOnCompletion > - Rollback file strategy: > org.apache.camel.component.file.strategy.GenericFileRenameProcessStrategy@693a9769 > for file: GenericFile[message2.xml] > 2014-08-07 14:17:57,038 [file://src/data] INFO SendFileRecordsToQueueBean > - Incoming file: message3.xml > 2014-08-07 14:17:57,038 [file://src/data] WARN GenericFileOnCompletion > - Rollback file strategy: > org.apache.camel.component.file.strategy.GenericFileRenameProcessStrategy@693a9769 > for file: GenericFile[message3.xml] > 2014-08-07 14:17:57,251 [Thread-5 ] INFO SpringCamelContext > - Apache Camel 2.14-SNAPSHOT (CamelContext: camel-1) uptime 8.256 seconds > 2014-08-07 14:17:57,252 [Thread-5 ] INFO SpringCamelContext > - Apache Camel 2.14-SNAPSHOT (CamelContext: camel-1) is shutdown in 5.013 > seconds > 2014-08-07 14:17:57,252 [Thread-5 ] INFO DefaultListableBeanFactory > - Destroying singletons in > org.springframework.beans.factory.support.DefaultListableBeanFactory@4e358ab7: > defining beans > [broker,activemq,org.apache.camel.example.pojo_messaging.SendFileRecordsToQueueBean#0,org.apache.camel.example.pojo_messaging.DistributeRecordsBean#0,template,consumerTemplate,camel-1:beanPostProcessor,camel-1]; > root of factory hierarchy > 2014-08-07 14:17:57,253 [Thread-5 ] INFO BrokerService > - Apache ActiveMQ 5.11-SNAPSHOT (myBroker, > ID:davsclaus.air-50520-1407413868345-0:1) is shutting down > 2014-08-07 14:17:57,254 [Thread-5 ] INFO TransportConnector > - Connector vm://myBroker stopped > 2014-08-07 14:17:57,264 [Thread-5 ] INFO BrokerService > - Apache ActiveMQ 5.11-SNAPSHOT (myBroker, > ID:davsclaus.air-50520-1407413868345-0:1) uptime 9.268 seconds > 2014-08-07 14:17:57,264 [Thread-5 ] INFO BrokerService > - Apache ActiveMQ 5.11-SNAPSHOT (myBroker, > ID:davsclaus.air-50520-1407413868345-0:1) is shutdown > {code} -- This message was sent by Atlassian JIRA (v6.2#6252)