[jira] Commented: (LINGO-29) Asynchronous call with remote parameter does not work

View: New views
1 Messages — Rating Filter:   Alert me  

[jira] Commented: (LINGO-29) Asynchronous call with remote parameter does not work

by JIRA jira@codehaus.org :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message


    [ http://jira.codehaus.org/browse/LINGO-29?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_88619 ]

Dan Allen commented on LINGO-29:
--------------------------------

Crap!  I just spent half the day on this problem before I discovered this issue report!  As it turns out, the proposed solution to add the call to populateHeaders(message) in the OneWayRequestor works perfectly.  However, I propose that this call be added to the two doSend() methods instead, just after the call to validateDestination.

> Asynchronous call with remote parameter does not work
> -----------------------------------------------------
>
>                 Key: LINGO-29
>                 URL: http://jira.codehaus.org/browse/LINGO-29
>             Project: Lingo
>          Issue Type: Bug
>    Affects Versions: 1.2.1
>         Environment: Linux, Java 5, Spring 2.0-rc2, ActiveMQ 4.0.2
>            Reporter: Klaus Reimer
>         Attachments: LINGO-29-lingo1.1.diff, LINGO-29-lingo1.3.diff
>
>
> I'm trying to implement an asynchronous method with a result listener just as in the examples:
>   public void asyncRequestResponse(String stock, ResultListener listener)
> But when I call this method the server complains about a missing destination:
>   java.lang.UnsupportedOperationException: A destination must be specified.
>         at org.apache.activemq.ActiveMQMessageProducer.send(ActiveMQMessageProducer.java:448)
>         at org.logicblaze.lingo.jms.impl.OneWayRequestor.doSend(OneWayRequestor.java:196)
> I have debugged the code and found out that the destination for the response message the server tries to send is null. And that's because the JMSReplyTo field of the request message is also null.
> So I debugged the client side and found out that the remote message is classified as a oneway method by  the metadata strategy because the method does have no return value. The invoke method of the JMSClientInterceptor checks this first and if it sees that the method is a OneWay method it just uses the send method of the Requestor which does not set a JMSReplyTo address. I think this is the problem.
> I hope this was detailed enough to find the problem.

--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.codehaus.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

       

---------------------------------------------------------------------
To unsubscribe from this list please visit:

    http://xircles.codehaus.org/manage_email