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 <[email protected]>: > 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" <[email protected]> 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" <[email protected]> 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. >>> >>
