Mike Edwards wrote:
<snip>
I think that there are changes required in the following areas:
<snip>
b) treated in a special way by the invokers when we're trying to invoke one of the methods on the interface

I think that a) needs to be done in the interface-java module
I suspect that b) must be handled in the code that sets up the invokers and in the invokers themselves, such as implementation-java-runtime
<snip>
2)Part of the invocation process involves handling the ResponseDispatch object that is passed to the async service. This object must correctly reflect the response message type. It must also contain or reference all the information that is needed to transmit the response message back via the binding.

This will be new stuff that belongs somewhere general such as core - core.invocation.impl may be the right place.

Folks,

Today I concentrated on the service-side invocation sequence for async server 
operations.

This is based mostly around a new invoker:

JavaAsyncImplementationInvoker

...which is done as a subclass of JavaImplementationInvoker, all in 
java-implementation-runtime

The new invoker concentrates on creating the correct set of input parameters for the async method and in particular adds in a ResponseDispatch object as the final parameter.

The invoker now makes the invocation and then calls the ResponseDispatch.get() method to retrieve the response message, which can involve waiting for the service processing to complete.

With this implemented, I am now able to run the JCA_7003_TestCase successfully, which has a client invoke an async service operation.

I'll commit this code soon, once I've confirmed that it does not harm existing 
modules and tests.

Now, this is only a first step, since clearly, we are still using synchronous versions of the bindings. The next stage is to look at the bindings and to build response handling chains that can be separated from the request chains and which can be invoked directly from the ResponseDispatch object through a callback...


Yours,  Mike.

Reply via email to