qpid-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Alex Rudyy (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (QPID-4389) Qpid topic exchange does not resend message when subsciber come back online
Date Wed, 24 Oct 2012 00:36:12 GMT

    [ 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

View raw message