On Thu, Jan 7, 2010 at 10:37 AM, Douglas Leite <[email protected]> wrote:
> Hi,
>
> I would like to know if the Tuscany SCA framework provides something that
> allows me to identify which oneWay method invocation a callback operation is
> associated with.
>
> Suppose that a ClientComponent invokes consecutively an oneWay method from a
> ServerComponent 3 times. The client method ends their execution up before
> the arrival of the messages through callback. Then, when the callback
> messages arrive, how can I determine which of the 3 invocations method the
> callback is associated with? Can I trust the message delivery order?
>

I believe this would depend on the @Scope of your service, below is
what the 1.1 spec says in the 7.2.2 section (Callback Instance
Management):

Instance management for callback requests received by the client of
the bidirectional service is handled in the same way as instance
management for regular service requests. If the client implementation
has STATELESS scope, the callback is dispatched using a newly
initialized instance. If the client implementation has COMPOSITE
scope, the callback is dispatched using the same shared instance that
is used to dispatch regular service requests.
As described in the section "Using Callbacks", a stateful callback can
obtain information relating to the original service request from
parameters on the callback request. Alternatively, a composite- scoped
client could store information relating to the original request as
instance data and retrieve it when the callback request is received.
These approaches could be combined by using a key passed on the
callback request (e.g., an order ID) to retrieve information that was
stored in a composite-scoped instance by the client code that made the
original request.

Also, here are some slides on this topic that might help :

http://www.slideshare.net/luckbr1975/building-asynchronous-services-with-sca





-- 
Luciano Resende
http://people.apache.org/~lresende
http://lresende.blogspot.com/

Reply via email to