[ 
https://issues.apache.org/jira/browse/AMQ-6054?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Nevin Chen updated AMQ-6054:
----------------------------
    Comment: was deleted

(was: Snapshot of AMQ web console before and after restart)

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

Reply via email to