You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@activemq.apache.org by "Nevin Chen (JIRA)" <ji...@apache.org> on 2015/11/24 03:18:11 UTC

[jira] [Closed] (AMQ-6054) Durable subscriber cannot receive the existing messages after AMQ restarts

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

Nevin Chen closed AMQ-6054.
---------------------------
    Resolution: Invalid

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