You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@qpid.apache.org by "Alex Rudyy (JIRA)" <ji...@apache.org> on 2012/10/24 02:36:12 UTC

[jira] [Commented] (QPID-4389) Qpid topic exchange does not resend message when subsciber come back online

    [ https://issues.apache.org/jira/browse/QPID-4389?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13482865#comment-13482865 ] 

Alex Rudyy commented on QPID-4389:
----------------------------------

Hi Andrew,

I looked into this issue and found that with Address based syntax the AMQP 0.10 client did not send the subscriber selector expression as part of arguments of ExchangeBind command on creation of durable subscription. As result, on closing and re-opening of durable subscriber the client tried to check whether expected and real binding arguments match and on matching failure the JMS client deleted and re-created the subscription queue on the broker. That caused the losing of all the messages on the queue.

I fixed this issue on trunk. You can try to checkout fresh Qpid sources and build the java client from java sub-module by running ant command as follows:

ant clean build release-bin

The client build will be created in java/client/release folder.

Alternatively, you can try to use Binding URL syntax for your topics as described at 
https://cwiki.apache.org/qpid/bindingurlformat.html . The bug does not occur when Binding URL syntax is used. 

Please note that you need to prefix the binding URL with "BURL:" as Address based syntax is used by default in java Qpid client. Also, you can use JVM setting -Dqpid.dest_syntax=BURL to set the Binding URL syntax as a default for all your queues and topics. 


                
> Qpid topic exchange does not resend message when subsciber come back online
> ---------------------------------------------------------------------------
>
>                 Key: QPID-4389
>                 URL: https://issues.apache.org/jira/browse/QPID-4389
>             Project: Qpid
>          Issue Type: Bug
>          Components: Java Client
>    Affects Versions: 0.14
>         Environment: Linux,Netbeans 7.2
>            Reporter: Andrew Burks
>            Assignee: Alex Rudyy
>              Labels: newbie
>             Fix For: 0.19
>
>         Attachments: DurSubProject.tar.gz
>
>
> When testing durable subscibers, I first publish a message to a subscriber to be sure it can receive messages. Checks out ok. Then I bring the subscriber down with subscriber.close() where subscriber is an instance of MessageConsumer. Next, I publish another message while the subscriber is down, then I bring the subsciber back up and wait 10 seconds for a message...no message comes. To be sure the everything is working properly, I create another message and publish it, the subscriber has no problem receiving it. My question is where has the second message gone? I would think that the message would have been queued up some place to be sent out again but that is not the case. Please let me know if I am looking at this totally wrong.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@qpid.apache.org
For additional commands, e-mail: dev-help@qpid.apache.org