[
https://issues.apache.org/jira/browse/AMQ-6054?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15023603#comment-15023603
]
Nevin Chen commented on AMQ-6054:
---------------------------------
Sorry, I tried it again and everything goes well. There must be something wrong
with my previous operations.
> Durable subscriber cannot receive the existing messages after AMQ restarts
> --------------------------------------------------------------------------
>
> Key: AMQ-6054
> URL: https://issues.apache.org/jira/browse/AMQ-6054
> Project: ActiveMQ
> Issue Type: Bug
> Components: Broker
> Affects Versions: 5.12.1
> Environment: Redhat Linux
> Reporter: Nevin Chen
> Attachments: Web Console Snapshot.png
>
>
> *How to Reproduce*
> 1. Make a durable subscription to a topic from a JMS client.
> 2. Disconnect the JMS client.
> 3. Send a message to the subscribed topic from another JMS client.
> 4. Restart AMQ.
> 5. When the duarable re-connects to AMQ, it cannot receive the message sent
> in step 3.
> *Cause Analysis*
> The message is saved in the persistent store successfully. However, when the
> message is marshalled by the class MessageMarshaller, the field
> regionDestination is not marshalled and saved to persistent store. When the
> message is recovered from persistent store after restart, the
> regionDestination filed of Message is empty so it is unknown which topic this
> message belongs to.
> *Possible Cause*
> In the method
> org.apache.activemq.broker.region.Topic.activate(ConnectionContext context,
> final DurableTopicSubscription subscription), the
> subscription.isRecoveryRequired() check is always false. The message cannot
> go to the subscription.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)