[ 
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-unsubscr...@qpid.apache.org
For additional commands, e-mail: dev-h...@qpid.apache.org

Reply via email to