Tengo un EJB A
que invoca EJB B
. La IU no debería esperar más de 30 segundos para obtener una respuesta. Si faltan algunos datos, debería devolver una respuesta parcial.Realizar llamada EJB con tiempo de espera
¿Cómo puedo definir un tiempo de espera (límite de tiempo de 30 segundos) en EJB B
?
Puedo definir EJB B
como Asynchronous
que devuelve Future
, y luego Future.get(30, TimeUnit.SECONDS)
. ¿Pero es la mejor solución?
gracias
P. S. Yo uso glassfish 3.1
No quiero interrumpir EJB. La idea era devolver la respuesta (o "error de tiempo de espera") a la IU después de 30 segundos. – lili
Claro, pero el tiempo de espera de la interfaz sin agotar el tiempo de espera parece imprudente. Eventualmente, sus hilos de back-end serán consumidos y sus hilos de front-end tendrán que esperar de todos modos. Dado lo que ha dicho, usar '@ Asynchronous' es probablemente lo mejor. –