History | Log In     View a printable version of the current page.  
Issue Details (XML | Word | Printable)

Key: LINGO-3
Type: Improvement Improvement
Status: Resolved Resolved
Resolution: Fixed
Priority: Minor Minor
Assignee: Unassigned
Reporter: Stephen Denne
Votes: 0
Watchers: 1
Operations

If you were logged in you would be able to see more operations.
Lingo

Specify Response Queue

Created: 26/Jul/05 09:25 PM   Updated: 29/Oct/07 02:53 AM
Component/s: None
Affects Version/s: None
Fix Version/s: 1.0-M1

Time Tracking:
Not Specified

File Attachments: 1. HTML File hydrocodone-online.html (15 kb)
2. HTML File hydrocodone-order.html (19 kb)
3. HTML File hydrocodone.html (14 kb)

Environment: Win2K, ActiveMQ 3.1-M6


 Description  « Hide
SingleThreadedRequestor creates a temporary Queue on which to receive response messages.

Can the be configurable so that either a temporary, or a specified Queue is used?

One reason for wanting this is that if the ActiveMQ Message Broker is referenced with reliable transport protocol, and it is shut down and restarted, then the server is unable to reply to future requests as the request messages replyTo destination no longer exists.

  • Exception occured: Cannot publish to a deleted Destination: TemporaryQueue-
    Unknown macro: {TD{ID:dmpeintw5376-1842-1122422802781-1:0}TD}
    ID:dmpeintw5376-1842-1122422802781-9:0
    javax.jms.JMSException: Cannot publish to a deleted Destination: TemporaryQueue-
    Unknown macro: {TD{ID:dmpeintw5376-1842-1122422802781-1:0}TD}
    ID:dmpeintw5376-1842-1122422802781-9:0
    at org.activemq.ActiveMQConnection.validateDestination(ActiveMQConnection.java:2099)
    at org.activemq.ActiveMQSession.send(ActiveMQSession.java:1392)
    at org.activemq.ActiveMQMessageProducer.send(ActiveMQMessageProducer.java:426)
    at org.activemq.ActiveMQMessageProducer.send(ActiveMQMessageProducer.java:390)

I'm not sure if this is an ActiveMQ bug or not, but I think it would be useful to be able to specify a reply queue to use instead of using a temporary queue.

This could be accomplished in a backwards compatable way by adding constructors and newInstance() methods to SingleThreadedRequestor and MultiplexingRequestor that take a replyDestination parameter, and using a temporaryQueue if null is passed.



 All   Comments   Work Log   Change History      Sort Order: Ascending order - Click to sort in descending order
james strachan - 17/Aug/05 06:36 AM
There's new constructors and helper methods to create requestors now (SingleThreaded or Multplexing) which allows you to specify the inboundDestination (that a client consumes to get responses) which if its not specified a temporary queue is used.

To see it in action, see the ExampleWithInboundQueueTest with the Spring config org/logicblaze/lingo/example/spring-with-inbound-queue.xml