[ 
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)

Reply via email to