tomee-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Romain Manni-Bucau <rmannibu...@gmail.com>
Subject Re: Remote Asynchronous EJB Method call followed quickly by client exit
Date Fri, 16 May 2014 14:49:13 GMT
Just checked and was not clear in my previous answer. Client side and
server side have the same architecture more or less. Both have a
thread pool. So bean.asyncCall() will do a
executorService.submit(remoteCall).

What can potentially be considered as a bug is the fact we don't
shutdown this executor but even doing it we would shutdown the client
before it sent the task to the server so you could get the same
behavior as well.


Romain Manni-Bucau
Twitter: @rmannibucau
Blog: http://rmannibucau.wordpress.com/
LinkedIn: http://fr.linkedin.com/in/rmannibucau
Github: https://github.com/rmannibucau


2014-05-16 15:29 GMT+02:00 Thiago Veronezi <thiago@veronezi.org>:
> Oh... I think I see what you mean now.
>
> You say that the server kills the async thread as soon as the caller thread
> ends, right?
>
> Can you create an example for that too?
>
> []s,
> Thiago
> On May 16, 2014 9:21 AM, "Thiago Veronezi" <thiago@veronezi.org> wrote:
>
>> Hi,
>>
>> Async calls return back to the caller immediately. If we expect to get a
>> result back from an async call, we should use Future to hold it.
>>
>> Maybe you can create something reproducible by cloning the async-method
>> example with a remote async call.
>>
>> http://tomee.apache.org/examples-trunk/async-methods/README.html
>>
>> []s,
>> Thiago
>> On May 15, 2014 8:15 PM, "ymaraner" <tphaley@gmail.com> wrote:
>>
>>> I have a client that makes a call to a remote EJB method and then
>>> terminates
>>> within a very short period of time. If the EJB method is synchronous,
>>> everything works fine. If the EJB is annotated with @Asynchronous, the
>>> call
>>> doesn't seem to be processed on the server unless I introduce a short
>>> sleep
>>> in the client right after the method call.
>>>
>>> That doesn't seem like correct behavior to me. I was under the impression
>>> that the call would spawn a server-side thread to handle the method and
>>> then
>>> return control to the client; so the method would be successfully invoked
>>> no
>>> matter what the client did immediately after the call.
>>>
>>> Am I wrong? Or is this a potential bug in the implementation of
>>> asynchronous
>>> EJB method invocation in TomEE 1.6.0.1?
>>>
>>>
>>>
>>> -----
>>> - Tim
>>> --
>>> View this message in context:
>>> http://openejb.979440.n4.nabble.com/Remote-Asynchronous-EJB-Method-call-followed-quickly-by-client-exit-tp4669337.html
>>> Sent from the OpenEJB User mailing list archive at Nabble.com.
>>>
>>

Mime
View raw message