You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@qpid.apache.org by fergus <fe...@gmail.com> on 2018/08/14 21:21:43 UTC

[Dispatcher] Issue with request/response pattern using jms temporary queue

Hi,

I am having an issue implementing a request/response pattern using JMS
temporary queues (dynamic addressing).

The docker compose to run the brokers and dispatcher and code is shared @
https://github.com/fbyrne/qpid-dispatch-jms

The test code

   1. Creates a JMS connection to the dispatcher - *OK*
   2. Creates a JMS session - *OK*
   3. Creates a temporary queue - *OK*
      - I can see the temporary queue created on the dispatcher
   4. Sends a message to the requests queue with reply-to as temporary
   queue - *OK*
   5. Creates a new session - *OK*
   6. Creates a consumer and receives the sent request - *OK*
   7. Reads the reply-to destination from the message - *OK*
      1. Address is correct
   8. Creates a producer on the reply to address - *OK*
   9. Sends a response to the reply to address - *NOK*
      - Code hangs here until the connection eventually timesout
   10. Creates a consumer on the reply to address - *NOK*
   11. Receives a response message from the reply to address. - *NOK*

I note that there have been some issues flagged as resolved around this but
these have been resolved in version 0.8.0.
 - https://issues.apache.org/jira/browse/DISPATCH-634

I appreciate any help you can give me on this.  Hopefully i have just
misconfigured or am missing some configuration.

I hope the docker setup will assist you to reproduce.  The java test code
builds with maven 3.5.0 and Java 8.

Kind regards,
Fergus Byrne

Setup information.
Versions:
- Qpid Dispatch: 1.3.0
- Qpid Broker J: 7.0.6
- Qpid JMS: 0.35.0

Configuration:

   - broker1
   - Queues
         - requests
      - broker2
      - Queues
         - requests
      - dispatcher
      - listener: amqp
      - connections: route-containers
         - broker1
         - broker2
      - waypoints
         - requests
      - autolinks
         - broker1: requests directions: in & out
         - broker2: requests directions: in & out

Re: [Dispatcher] Issue with request/response pattern using jms temporary queue

Posted by Robbie Gemmell <ro...@gmail.com>.
On Wed, 15 Aug 2018 at 11:13, Gordon Sim <gs...@redhat.com> wrote:
>
> On 15/08/18 10:07, BYRNE Fergus wrote:
> > Hi Gordon,
> >
> > Thanks for your fast response.  I have made the changes suggested and I still get the same behaviour.
> >
> > Output from the test
> > -----
> > 2018-08-15 09:52:43,305 [localhost:5672]] - INFO  SaslMechanismFinder            - Best match for SASL auth was: SASL-ANONYMOUS
> > 2018-08-15 09:52:43,347 [localhost:5672]] - INFO  JmsConnection                  - Connection ID:652c4867-137b-4095-a3b3-adb492f5bd89:1 connected to remote Broker: amqp://localhost:5672
> > 2018-08-15 09:52:43,396 [main           ] - INFO  RequestResponseReplyToTest     - Temporary Response Queue: amqp:/_$temp.Cm8IWdyj4NAZKiy
> > 2018-08-15 09:52:43,415 [main           ] - INFO  RequestResponseReplyToTest     - Temporary Response Queue Consumer Created: amqp:/_$temp.Cm8IWdyj4NAZKiy
> > 2018-08-15 09:52:43,483 [main           ] - INFO  RequestResponseReplyToTest     - Sent request: requests
> > 2018-08-15 09:52:43,484 [main           ] - INFO  RequestResponseReplyToTest     -      MessageID:ID:652c4867-137b-4095-a3b3-adb492f5bd89:1:1:1-1
> > 2018-08-15 09:52:43,484 [main           ] - INFO  RequestResponseReplyToTest     -      CorrelationID:null
> > 2018-08-15 09:52:43,484 [main           ] - INFO  RequestResponseReplyToTest     -      Timestamp:1534323163433
> > 2018-08-15 09:52:43,485 [main           ] - INFO  RequestResponseReplyToTest     -      Expiration:0
> > 2018-08-15 09:52:43,486 [main           ] - INFO  RequestResponseReplyToTest     -      DeliveryTime:1534323163433
> > 2018-08-15 09:52:43,486 [main           ] - INFO  RequestResponseReplyToTest     -      Reply-To:amqp:/_$temp.Cm8IWdyj4NAZKiy
> > 2018-08-15 09:52:43,486 [main           ] - INFO  RequestResponseReplyToTest     -      Body:Hello world!
> > 2018-08-15 09:52:43,514 [main           ] - INFO  RequestResponseReplyToTest     - Request Queue Consumer Created: requests
> > 2018-08-15 09:52:43,526 [main           ] - INFO  RequestResponseReplyToTest     - Received request:
> > 2018-08-15 09:52:43,526 [main           ] - INFO  RequestResponseReplyToTest     -      MessageID:ID:652c4867-137b-4095-a3b3-adb492f5bd89:1:1:1-1
> > 2018-08-15 09:52:43,527 [main           ] - INFO  RequestResponseReplyToTest     -      CorrelationID:null
> > 2018-08-15 09:52:43,527 [main           ] - INFO  RequestResponseReplyToTest     -      Timestamp:1534323163433
> > 2018-08-15 09:52:43,527 [main           ] - INFO  RequestResponseReplyToTest     -      Expiration:0
> > 2018-08-15 09:52:43,527 [main           ] - INFO  RequestResponseReplyToTest     -      DeliveryTime:1534323163433
> > 2018-08-15 09:52:43,527 [main           ] - INFO  RequestResponseReplyToTest     -      Reply-To:amqp:/_$temp.Cm8IWdyj4NAZKiy
> > 2018-08-15 09:52:43,527 [main           ] - INFO  RequestResponseReplyToTest     -      Body:Hello world!
> > 2018-08-15 09:52:43,542 [main           ] - INFO  RequestResponseReplyToTest     - Temporary Response Queue Producer Created: amqp:/_$temp.Cm8IWdyj4NAZKiy
> > 2018-08-15 09:52:43,542 [main           ] - INFO  RequestResponseReplyToTest     - Sending response: amqp:/_$temp.Cm8IWdyj4NAZKiy
> > 2018-08-15 09:52:43,542 [main           ] - INFO  RequestResponseReplyToTest     -      MessageID:null
> > 2018-08-15 09:52:43,543 [main           ] - INFO  RequestResponseReplyToTest     -      CorrelationID:null
> > 2018-08-15 09:52:43,543 [main           ] - INFO  RequestResponseReplyToTest     -      Timestamp:0
> > 2018-08-15 09:52:43,543 [main           ] - INFO  RequestResponseReplyToTest     -      Expiration:0
> > 2018-08-15 09:52:43,543 [main           ] - INFO  RequestResponseReplyToTest     -      DeliveryTime:0
> > 2018-08-15 09:52:43,543 [main           ] - INFO  RequestResponseReplyToTest     -      Reply-To:null
> > 2018-08-15 09:52:43,544 [main           ] - INFO  RequestResponseReplyToTest     -      Body:Hello world response!
> > -----
> > The test still hangs on sending the response to the temporary queue.
> >
> > I have updated the test code @ https://github.com/fbyrne/qpid-dispatch-jms/blob/master/jms-test/src/test/java/org/apache/qpid/dispatch/jmstest/RequestResponseReplyToTest.java
> >
> > I would also like some more infor on why the send hangs?  Are there any properties to control this behavior?
>
> Can you turn on protocol tracing, set env var PN_TRACE_FRM=1. That will
> show the interaction. Acknowledgement with the router is end-to-end; the
> sender will not receive an acknowledgement until the message is
> acknowledged by the receiver. If it is sending to itself, then it may be
> in a deadlock (it can't process the message to acknowledge it because
> the sender is blocked waiting for that acknowledgement). If this is the
> case, I believe setting the message to be non persistent should prevent
> the send call blocking.
>

Or alternatively use an asynchronous send with a CompletionListener,
removing need to wait for acknowledgement during the send call. Note
though that the earlier conditions would still apply as the client
blocks for credit to send messages if there is none, even with async
sends.

Robbie

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


RE: [Dispatcher] Issue with request/response pattern using jms temporary queue

Posted by BYRNE Fergus <Fe...@murex.com>.
Hi Gordon,

Thanks for your help.  The example is now working for me.

I have moved the handling of the response into a new thread with a new connection & session.

The response is now received on the temporary queue using either a listener or a direct call to receive.

Many thanks for your help.

Kind regards, 
Fergus

-----Original Message-----
From: Gordon Sim <gs...@redhat.com> 
Sent: Wednesday 15 August 2018 11:13
To: BYRNE Fergus <Fe...@murex.com>; users@qpid.apache.org; fergus <fe...@gmail.com>
Cc: VERMEULEN Olivier <Ol...@murex.com>
Subject: Re: [Dispatcher] Issue with request/response pattern using jms temporary queue

On 15/08/18 10:07, BYRNE Fergus wrote:
> Hi Gordon,
> 
> Thanks for your fast response.  I have made the changes suggested and I still get the same behaviour.
> 
> Output from the test
> -----
> 2018-08-15 09:52:43,305 [localhost:5672]] - INFO  SaslMechanismFinder            - Best match for SASL auth was: SASL-ANONYMOUS
> 2018-08-15 09:52:43,347 [localhost:5672]] - INFO  JmsConnection                  - Connection ID:652c4867-137b-4095-a3b3-adb492f5bd89:1 connected to remote Broker: amqp://localhost:5672
> 2018-08-15 09:52:43,396 [main           ] - INFO  RequestResponseReplyToTest     - Temporary Response Queue: amqp:/_$temp.Cm8IWdyj4NAZKiy
> 2018-08-15 09:52:43,415 [main           ] - INFO  RequestResponseReplyToTest     - Temporary Response Queue Consumer Created: amqp:/_$temp.Cm8IWdyj4NAZKiy
> 2018-08-15 09:52:43,483 [main           ] - INFO  RequestResponseReplyToTest     - Sent request: requests
> 2018-08-15 09:52:43,484 [main           ] - INFO  RequestResponseReplyToTest     -      MessageID:ID:652c4867-137b-4095-a3b3-adb492f5bd89:1:1:1-1
> 2018-08-15 09:52:43,484 [main           ] - INFO  RequestResponseReplyToTest     -      CorrelationID:null
> 2018-08-15 09:52:43,484 [main           ] - INFO  RequestResponseReplyToTest     -      Timestamp:1534323163433
> 2018-08-15 09:52:43,485 [main           ] - INFO  RequestResponseReplyToTest     -      Expiration:0
> 2018-08-15 09:52:43,486 [main           ] - INFO  RequestResponseReplyToTest     -      DeliveryTime:1534323163433
> 2018-08-15 09:52:43,486 [main           ] - INFO  RequestResponseReplyToTest     -      Reply-To:amqp:/_$temp.Cm8IWdyj4NAZKiy
> 2018-08-15 09:52:43,486 [main           ] - INFO  RequestResponseReplyToTest     -      Body:Hello world!
> 2018-08-15 09:52:43,514 [main           ] - INFO  RequestResponseReplyToTest     - Request Queue Consumer Created: requests
> 2018-08-15 09:52:43,526 [main           ] - INFO  RequestResponseReplyToTest     - Received request:
> 2018-08-15 09:52:43,526 [main           ] - INFO  RequestResponseReplyToTest     -      MessageID:ID:652c4867-137b-4095-a3b3-adb492f5bd89:1:1:1-1
> 2018-08-15 09:52:43,527 [main           ] - INFO  RequestResponseReplyToTest     -      CorrelationID:null
> 2018-08-15 09:52:43,527 [main           ] - INFO  RequestResponseReplyToTest     -      Timestamp:1534323163433
> 2018-08-15 09:52:43,527 [main           ] - INFO  RequestResponseReplyToTest     -      Expiration:0
> 2018-08-15 09:52:43,527 [main           ] - INFO  RequestResponseReplyToTest     -      DeliveryTime:1534323163433
> 2018-08-15 09:52:43,527 [main           ] - INFO  RequestResponseReplyToTest     -      Reply-To:amqp:/_$temp.Cm8IWdyj4NAZKiy
> 2018-08-15 09:52:43,527 [main           ] - INFO  RequestResponseReplyToTest     -      Body:Hello world!
> 2018-08-15 09:52:43,542 [main           ] - INFO  RequestResponseReplyToTest     - Temporary Response Queue Producer Created: amqp:/_$temp.Cm8IWdyj4NAZKiy
> 2018-08-15 09:52:43,542 [main           ] - INFO  RequestResponseReplyToTest     - Sending response: amqp:/_$temp.Cm8IWdyj4NAZKiy
> 2018-08-15 09:52:43,542 [main           ] - INFO  RequestResponseReplyToTest     -      MessageID:null
> 2018-08-15 09:52:43,543 [main           ] - INFO  RequestResponseReplyToTest     -      CorrelationID:null
> 2018-08-15 09:52:43,543 [main           ] - INFO  RequestResponseReplyToTest     -      Timestamp:0
> 2018-08-15 09:52:43,543 [main           ] - INFO  RequestResponseReplyToTest     -      Expiration:0
> 2018-08-15 09:52:43,543 [main           ] - INFO  RequestResponseReplyToTest     -      DeliveryTime:0
> 2018-08-15 09:52:43,543 [main           ] - INFO  RequestResponseReplyToTest     -      Reply-To:null
> 2018-08-15 09:52:43,544 [main           ] - INFO  RequestResponseReplyToTest     -      Body:Hello world response!
> -----
> The test still hangs on sending the response to the temporary queue.
> 
> I have updated the test code @ 
> https://github.com/fbyrne/qpid-dispatch-jms/blob/master/jms-test/src/t
> est/java/org/apache/qpid/dispatch/jmstest/RequestResponseReplyToTest.j
> ava
> 
> I would also like some more infor on why the send hangs?  Are there any properties to control this behavior?

Can you turn on protocol tracing, set env var PN_TRACE_FRM=1. That will show the interaction. Acknowledgement with the router is end-to-end; the sender will not receive an acknowledgement until the message is acknowledged by the receiver. If it is sending to itself, then it may be in a deadlock (it can't process the message to acknowledge it because the sender is blocked waiting for that acknowledgement). If this is the case, I believe setting the message to be non persistent should prevent the send call blocking.
*******************************

This e-mail contains information for the intended recipient only. It may contain proprietary material or confidential information. If you are not the intended recipient you are not authorised to distribute, copy or use this e-mail or any attachment to it. Murex cannot guarantee that it is virus free and accepts no responsibility for any loss or damage arising from its use. If you have received this e-mail in error please notify immediately the sender and delete the original email received, any attachments and all copies from your system.

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


Re: [Dispatcher] Issue with request/response pattern using jms temporary queue

Posted by Gordon Sim <gs...@redhat.com>.
On 15/08/18 10:07, BYRNE Fergus wrote:
> Hi Gordon,
> 
> Thanks for your fast response.  I have made the changes suggested and I still get the same behaviour.
> 
> Output from the test
> -----
> 2018-08-15 09:52:43,305 [localhost:5672]] - INFO  SaslMechanismFinder            - Best match for SASL auth was: SASL-ANONYMOUS
> 2018-08-15 09:52:43,347 [localhost:5672]] - INFO  JmsConnection                  - Connection ID:652c4867-137b-4095-a3b3-adb492f5bd89:1 connected to remote Broker: amqp://localhost:5672
> 2018-08-15 09:52:43,396 [main           ] - INFO  RequestResponseReplyToTest     - Temporary Response Queue: amqp:/_$temp.Cm8IWdyj4NAZKiy
> 2018-08-15 09:52:43,415 [main           ] - INFO  RequestResponseReplyToTest     - Temporary Response Queue Consumer Created: amqp:/_$temp.Cm8IWdyj4NAZKiy
> 2018-08-15 09:52:43,483 [main           ] - INFO  RequestResponseReplyToTest     - Sent request: requests
> 2018-08-15 09:52:43,484 [main           ] - INFO  RequestResponseReplyToTest     -      MessageID:ID:652c4867-137b-4095-a3b3-adb492f5bd89:1:1:1-1
> 2018-08-15 09:52:43,484 [main           ] - INFO  RequestResponseReplyToTest     -      CorrelationID:null
> 2018-08-15 09:52:43,484 [main           ] - INFO  RequestResponseReplyToTest     -      Timestamp:1534323163433
> 2018-08-15 09:52:43,485 [main           ] - INFO  RequestResponseReplyToTest     -      Expiration:0
> 2018-08-15 09:52:43,486 [main           ] - INFO  RequestResponseReplyToTest     -      DeliveryTime:1534323163433
> 2018-08-15 09:52:43,486 [main           ] - INFO  RequestResponseReplyToTest     -      Reply-To:amqp:/_$temp.Cm8IWdyj4NAZKiy
> 2018-08-15 09:52:43,486 [main           ] - INFO  RequestResponseReplyToTest     -      Body:Hello world!
> 2018-08-15 09:52:43,514 [main           ] - INFO  RequestResponseReplyToTest     - Request Queue Consumer Created: requests
> 2018-08-15 09:52:43,526 [main           ] - INFO  RequestResponseReplyToTest     - Received request:
> 2018-08-15 09:52:43,526 [main           ] - INFO  RequestResponseReplyToTest     -      MessageID:ID:652c4867-137b-4095-a3b3-adb492f5bd89:1:1:1-1
> 2018-08-15 09:52:43,527 [main           ] - INFO  RequestResponseReplyToTest     -      CorrelationID:null
> 2018-08-15 09:52:43,527 [main           ] - INFO  RequestResponseReplyToTest     -      Timestamp:1534323163433
> 2018-08-15 09:52:43,527 [main           ] - INFO  RequestResponseReplyToTest     -      Expiration:0
> 2018-08-15 09:52:43,527 [main           ] - INFO  RequestResponseReplyToTest     -      DeliveryTime:1534323163433
> 2018-08-15 09:52:43,527 [main           ] - INFO  RequestResponseReplyToTest     -      Reply-To:amqp:/_$temp.Cm8IWdyj4NAZKiy
> 2018-08-15 09:52:43,527 [main           ] - INFO  RequestResponseReplyToTest     -      Body:Hello world!
> 2018-08-15 09:52:43,542 [main           ] - INFO  RequestResponseReplyToTest     - Temporary Response Queue Producer Created: amqp:/_$temp.Cm8IWdyj4NAZKiy
> 2018-08-15 09:52:43,542 [main           ] - INFO  RequestResponseReplyToTest     - Sending response: amqp:/_$temp.Cm8IWdyj4NAZKiy
> 2018-08-15 09:52:43,542 [main           ] - INFO  RequestResponseReplyToTest     -      MessageID:null
> 2018-08-15 09:52:43,543 [main           ] - INFO  RequestResponseReplyToTest     -      CorrelationID:null
> 2018-08-15 09:52:43,543 [main           ] - INFO  RequestResponseReplyToTest     -      Timestamp:0
> 2018-08-15 09:52:43,543 [main           ] - INFO  RequestResponseReplyToTest     -      Expiration:0
> 2018-08-15 09:52:43,543 [main           ] - INFO  RequestResponseReplyToTest     -      DeliveryTime:0
> 2018-08-15 09:52:43,543 [main           ] - INFO  RequestResponseReplyToTest     -      Reply-To:null
> 2018-08-15 09:52:43,544 [main           ] - INFO  RequestResponseReplyToTest     -      Body:Hello world response!
> -----
> The test still hangs on sending the response to the temporary queue.
> 
> I have updated the test code @ https://github.com/fbyrne/qpid-dispatch-jms/blob/master/jms-test/src/test/java/org/apache/qpid/dispatch/jmstest/RequestResponseReplyToTest.java
> 
> I would also like some more infor on why the send hangs?  Are there any properties to control this behavior?

Can you turn on protocol tracing, set env var PN_TRACE_FRM=1. That will 
show the interaction. Acknowledgement with the router is end-to-end; the 
sender will not receive an acknowledgement until the message is 
acknowledged by the receiver. If it is sending to itself, then it may be 
in a deadlock (it can't process the message to acknowledge it because 
the sender is blocked waiting for that acknowledgement). If this is the 
case, I believe setting the message to be non persistent should prevent 
the send call blocking.

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


RE: [Dispatcher] Issue with request/response pattern using jms temporary queue

Posted by BYRNE Fergus <Fe...@murex.com>.
Hi Gordon, 

Thanks for your fast response.  I have made the changes suggested and I still get the same behaviour.

Output from the test
-----
2018-08-15 09:52:43,305 [localhost:5672]] - INFO  SaslMechanismFinder            - Best match for SASL auth was: SASL-ANONYMOUS
2018-08-15 09:52:43,347 [localhost:5672]] - INFO  JmsConnection                  - Connection ID:652c4867-137b-4095-a3b3-adb492f5bd89:1 connected to remote Broker: amqp://localhost:5672
2018-08-15 09:52:43,396 [main           ] - INFO  RequestResponseReplyToTest     - Temporary Response Queue: amqp:/_$temp.Cm8IWdyj4NAZKiy
2018-08-15 09:52:43,415 [main           ] - INFO  RequestResponseReplyToTest     - Temporary Response Queue Consumer Created: amqp:/_$temp.Cm8IWdyj4NAZKiy
2018-08-15 09:52:43,483 [main           ] - INFO  RequestResponseReplyToTest     - Sent request: requests
2018-08-15 09:52:43,484 [main           ] - INFO  RequestResponseReplyToTest     -      MessageID:ID:652c4867-137b-4095-a3b3-adb492f5bd89:1:1:1-1
2018-08-15 09:52:43,484 [main           ] - INFO  RequestResponseReplyToTest     -      CorrelationID:null
2018-08-15 09:52:43,484 [main           ] - INFO  RequestResponseReplyToTest     -      Timestamp:1534323163433
2018-08-15 09:52:43,485 [main           ] - INFO  RequestResponseReplyToTest     -      Expiration:0
2018-08-15 09:52:43,486 [main           ] - INFO  RequestResponseReplyToTest     -      DeliveryTime:1534323163433
2018-08-15 09:52:43,486 [main           ] - INFO  RequestResponseReplyToTest     -      Reply-To:amqp:/_$temp.Cm8IWdyj4NAZKiy
2018-08-15 09:52:43,486 [main           ] - INFO  RequestResponseReplyToTest     -      Body:Hello world!
2018-08-15 09:52:43,514 [main           ] - INFO  RequestResponseReplyToTest     - Request Queue Consumer Created: requests
2018-08-15 09:52:43,526 [main           ] - INFO  RequestResponseReplyToTest     - Received request:
2018-08-15 09:52:43,526 [main           ] - INFO  RequestResponseReplyToTest     -      MessageID:ID:652c4867-137b-4095-a3b3-adb492f5bd89:1:1:1-1
2018-08-15 09:52:43,527 [main           ] - INFO  RequestResponseReplyToTest     -      CorrelationID:null
2018-08-15 09:52:43,527 [main           ] - INFO  RequestResponseReplyToTest     -      Timestamp:1534323163433
2018-08-15 09:52:43,527 [main           ] - INFO  RequestResponseReplyToTest     -      Expiration:0
2018-08-15 09:52:43,527 [main           ] - INFO  RequestResponseReplyToTest     -      DeliveryTime:1534323163433
2018-08-15 09:52:43,527 [main           ] - INFO  RequestResponseReplyToTest     -      Reply-To:amqp:/_$temp.Cm8IWdyj4NAZKiy
2018-08-15 09:52:43,527 [main           ] - INFO  RequestResponseReplyToTest     -      Body:Hello world!
2018-08-15 09:52:43,542 [main           ] - INFO  RequestResponseReplyToTest     - Temporary Response Queue Producer Created: amqp:/_$temp.Cm8IWdyj4NAZKiy
2018-08-15 09:52:43,542 [main           ] - INFO  RequestResponseReplyToTest     - Sending response: amqp:/_$temp.Cm8IWdyj4NAZKiy
2018-08-15 09:52:43,542 [main           ] - INFO  RequestResponseReplyToTest     -      MessageID:null
2018-08-15 09:52:43,543 [main           ] - INFO  RequestResponseReplyToTest     -      CorrelationID:null
2018-08-15 09:52:43,543 [main           ] - INFO  RequestResponseReplyToTest     -      Timestamp:0
2018-08-15 09:52:43,543 [main           ] - INFO  RequestResponseReplyToTest     -      Expiration:0
2018-08-15 09:52:43,543 [main           ] - INFO  RequestResponseReplyToTest     -      DeliveryTime:0
2018-08-15 09:52:43,543 [main           ] - INFO  RequestResponseReplyToTest     -      Reply-To:null
2018-08-15 09:52:43,544 [main           ] - INFO  RequestResponseReplyToTest     -      Body:Hello world response!
-----
The test still hangs on sending the response to the temporary queue.

I have updated the test code @ https://github.com/fbyrne/qpid-dispatch-jms/blob/master/jms-test/src/test/java/org/apache/qpid/dispatch/jmstest/RequestResponseReplyToTest.java

I would also like some more infor on why the send hangs?  Are there any properties to control this behavior? 

I appreciate any help you can give to investigate/resolve the issue as it is currently blocking for us.

Kind regards, 
Fergus


-----Original Message-----
From: Gordon Sim <gs...@redhat.com> 
Sent: Tuesday 14 August 2018 23:31
To: users@qpid.apache.org; fergus <fe...@gmail.com>
Cc: BYRNE Fergus <Fe...@murex.com>
Subject: Re: [Dispatcher] Issue with request/response pattern using jms temporary queue

On 14/08/18 22:21, fergus wrote:
> Hi,
> 
> I am having an issue implementing a request/response pattern using JMS 
> temporary queues (dynamic addressing).
> 
> The docker compose to run the brokers and dispatcher and code is 
> shared @ https://github.com/fbyrne/qpid-dispatch-jms
> 
> The test code
> 
>     1. Creates a JMS connection to the dispatcher - *OK*
>     2. Creates a JMS session - *OK*
>     3. Creates a temporary queue - *OK*
>        - I can see the temporary queue created on the dispatcher
>     4. Sends a message to the requests queue with reply-to as temporary
>     queue - *OK*
>     5. Creates a new session - *OK*
>     6. Creates a consumer and receives the sent request - *OK*
>     7. Reads the reply-to destination from the message - *OK*
>        1. Address is correct
>     8. Creates a producer on the reply to address - *OK*
>     9. Sends a response to the reply to address - *NOK*
>        - Code hangs here until the connection eventually timesout
>     10. Creates a consumer on the reply to address - *NOK*

Step 10 has to occur before step 9. The address is not a queue. The router will only issue credit to send messages to it if it has a receiver for that address that it can then route those messages to.

>     11. Receives a response message from the reply to address. - *NOK*
> 
> I note that there have been some issues flagged as resolved around 
> this but these have been resolved in version 0.8.0.
>   - https://issues.apache.org/jira/browse/DISPATCH-634
> 
> I appreciate any help you can give me on this.  Hopefully i have just 
> misconfigured or am missing some configuration.
> 
> I hope the docker setup will assist you to reproduce.  The java test 
> code builds with maven 3.5.0 and Java 8.
> 
> Kind regards,
> Fergus Byrne
> 
> Setup information.
> Versions:
> - Qpid Dispatch: 1.3.0
> - Qpid Broker J: 7.0.6
> - Qpid JMS: 0.35.0
> 
> Configuration:
> 
>     - broker1
>     - Queues
>           - requests
>        - broker2
>        - Queues
>           - requests
>        - dispatcher
>        - listener: amqp
>        - connections: route-containers
>           - broker1
>           - broker2
>        - waypoints
>           - requests
>        - autolinks
>           - broker1: requests directions: in & out
>           - broker2: requests directions: in & out
> 

*******************************

This e-mail contains information for the intended recipient only. It may contain proprietary material or confidential information. If you are not the intended recipient you are not authorised to distribute, copy or use this e-mail or any attachment to it. Murex cannot guarantee that it is virus free and accepts no responsibility for any loss or damage arising from its use. If you have received this e-mail in error please notify immediately the sender and delete the original email received, any attachments and all copies from your system.

Re: [Dispatcher] Issue with request/response pattern using jms temporary queue

Posted by Gordon Sim <gs...@redhat.com>.
On 14/08/18 22:21, fergus wrote:
> Hi,
> 
> I am having an issue implementing a request/response pattern using JMS
> temporary queues (dynamic addressing).
> 
> The docker compose to run the brokers and dispatcher and code is shared @
> https://github.com/fbyrne/qpid-dispatch-jms
> 
> The test code
> 
>     1. Creates a JMS connection to the dispatcher - *OK*
>     2. Creates a JMS session - *OK*
>     3. Creates a temporary queue - *OK*
>        - I can see the temporary queue created on the dispatcher
>     4. Sends a message to the requests queue with reply-to as temporary
>     queue - *OK*
>     5. Creates a new session - *OK*
>     6. Creates a consumer and receives the sent request - *OK*
>     7. Reads the reply-to destination from the message - *OK*
>        1. Address is correct
>     8. Creates a producer on the reply to address - *OK*
>     9. Sends a response to the reply to address - *NOK*
>        - Code hangs here until the connection eventually timesout
>     10. Creates a consumer on the reply to address - *NOK*

Step 10 has to occur before step 9. The address is not a queue. The 
router will only issue credit to send messages to it if it has a 
receiver for that address that it can then route those messages to.

>     11. Receives a response message from the reply to address. - *NOK*
> 
> I note that there have been some issues flagged as resolved around this but
> these have been resolved in version 0.8.0.
>   - https://issues.apache.org/jira/browse/DISPATCH-634
> 
> I appreciate any help you can give me on this.  Hopefully i have just
> misconfigured or am missing some configuration.
> 
> I hope the docker setup will assist you to reproduce.  The java test code
> builds with maven 3.5.0 and Java 8.
> 
> Kind regards,
> Fergus Byrne
> 
> Setup information.
> Versions:
> - Qpid Dispatch: 1.3.0
> - Qpid Broker J: 7.0.6
> - Qpid JMS: 0.35.0
> 
> Configuration:
> 
>     - broker1
>     - Queues
>           - requests
>        - broker2
>        - Queues
>           - requests
>        - dispatcher
>        - listener: amqp
>        - connections: route-containers
>           - broker1
>           - broker2
>        - waypoints
>           - requests
>        - autolinks
>           - broker1: requests directions: in & out
>           - broker2: requests directions: in & out
> 


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