I got the same error using spring, 10 consumers and activemq 5.0 i changed to version 4.1.1 and no problems have occured,
could be to do with 4.1 using a derby datastore and kahastore in 5.0? JIRA [EMAIL PROTECTED] wrote: > > ERROR RecoveryListenerAdapter - Message id xxxxxx could not be recovered > from the data store! (when using Spring's DefaultMessageListenerContainer > with more than 1 concurrentConsumers to dispatch JMS messages) > ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- > > Key: AMQ-1544 > URL: https://issues.apache.org/activemq/browse/AMQ-1544 > Project: ActiveMQ > Issue Type: Bug > Components: Broker > Affects Versions: 5.0.0 > Environment: Windows XP and Sun Solaris on x86 > Reporter: Wilson Luong > Attachments: activemq.log, TestCase.zip > > I am seeing a problem in using ActiveMQ5.0.0 (AMQ Message Store) with > Spring's DefaultMessageListenerContainer. Whenever we set the > DefaultMessageListenerContainer currentConsumer value to more than 1 (i.e. > multiple concurrent consumers), it causes activeMQ broker to produce error > shown below: > > ERROR RecoveryListenerAdapter - Message id xxxxxx could not be recovered > from the data store! > > After this point, no further messages will be dispatched from the ActiveMQ > JMS queue, and new messages send to the JMS queue seems to disappear and > are not logged into the persistence store. The error seem to indicate > problem with the persistence store. We are making use of the new > activemq5.0.0 AMQ Message Store. > > I have included a test program (packaged in TestCase.zip) that will > re-produce the issue. The testcase contains the following content: > > - activemq.xml : contains the config to start the ActiveMQ broker used by > the test program. It contains a basic stripped down configuration (using > default config settings on AMQ Message Store). > - JmsQueueSender.java : util class making use of Spring's JmsTemplate to > send JMS messages. > - ActiveMQTestClass.java : main class that needs to be started. It loads > the sender class via spring, and also starts up the Spring's > DefaultMessageListenerContainer to dispatch messages. It will use the > sender class JmsQueueSender to send 100 messages every 10sec. > - DefaultMessageListener.java : JMS Pojo class that will be called to > handle the messages dispatched from the configured Spring's > DefaultMessageListenerContainer class. It currently just prints the > message content and sleeps for 200 millisec. The sleep is intentional, as > it simulate the time it takes in our real application to process the > message content. It also somehow (along with the printing of the message > content) seem to make the error/program to occur more quickly. > - testSpring.xml : Spring configuration used by the test program. One main > thing to note is the DefaultMessageListenerContainer class is configured > with 10 concurrentConsumers. When setting this value to 1, the problem > doesn't seem to happen, but as soon as this value is set beyond 1, it > causes problem in the ActiveMQ broker, relating to problem in unable to > recover from datastore. > > I have included the ActiveMQ broker logfile (activemq.log) which has debug > turned on (to provide more info). As soon as the error shown below is > logged, the consumer is unable to dispatch any more messages from the > ActiveMQ queue. The errors reported are: > > 2008-01-10 16:37:24,474 [/127.0.0.1:3432] ERROR RecoveryListenerAdapter > - Message id ID:B00118579B7DA-3430-1199983032693-0:1:1:1:99 could not be > recovered from the data store! > > 2008-01-10 16:37:24,474 [/127.0.0.1:3432] ERROR RecoveryListenerAdapter > - Message id ID:B00118579B7DA-3430-1199983032693-0:1:1:1:99 could not be > recovered from the data store! > > 2008-01-10 16:37:24,474 [/127.0.0.1:3432] ERROR RecoveryListenerAdapter > - Message id ID:B00118579B7DA-3430-1199983032693-0:1:1:1:99 could not be > recovered from the data store! > > The error doesn't seem to happen at predictable fixed points, which is why > the test program will send 100 message every 10sec, and over a number of > iterations, it will eventually show the problem in the broker. > > Let me know if further information is required. I would really like to get > the concurrent consumer to dispatch the messages, in order to reduce the > time it takes to process multiple burst of messages. > > > -- > This message is automatically generated by JIRA. > - > You can reply to this email to add a comment to the issue online. > > > -- View this message in context: http://www.nabble.com/-jira--Created%3A-%28AMQ-1544%29-ERROR-RecoveryListenerAdapter---Message-id-xxxxxx-could-not-be-recovered-from-the-data-store%21-%28when-using-Spring%27s-DefaultMessageListenerContainer-with-more-than-1-concurrentConsumers-to-dispatch-JMS-messages%29-tp14740757s2354p14919182.html Sent from the ActiveMQ - Dev mailing list archive at Nabble.com.
