Remove async message receivers
------------------------------

                 Key: AXIS2-2800
                 URL: https://issues.apache.org/jira/browse/AXIS2-2800
             Project: Axis 2.0 (Axis2)
          Issue Type: Improvement
            Reporter: Glen Daniels


Srinath was working on http://issues.apache.org/jira/browse/AXIS2-1363, and we 
here at the hackathon got involved in a discussion about asynchrony on the 
server side.  To make a long story short, we decided that it's overkill to make 
the user specify an asynchronous MessageReceiver in order to get the behavior 
of spawning a worker thread to do the actual business logic.

We'd like to instead have a property on the MessageContext (which can of course 
be set on the operation or service) which specified whether or not to prefer 
separate threads.  If this "preferSeparateThread" property is TRUE, then we 
will spin off a separate thread to do the business logic *if* we're using 
another channel for the response - if we're using the backchannel (WSA 
anonymous or no WSA), there's no real point in spinning off a thread since the 
current thread is most likely going to have to wait around for the response 
anyway.

We propose to put this logic in AbstractMessageReceiver.receive(), and to head 
towards deleting AbstractAsyncMessageReceiver and all its subclasses (simpler 
code is better code!) by deprecating them for 1.3.  We can actually delete them 
in a release or two.

(Interesting code tidbit - the RPCMessageReceiver and the 
RPCInOutAsyncMessageReceiver are, code-wise, just about IDENTICAL except for 
their parent class and whitespace!)

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to