Ho un EJB A
che richiama EJB B
. L'interfaccia utente non dovrebbe attendere più di 30 secondi per una risposta. Se mancano alcuni dati, dovrebbe restituire una risposta parziale.Effettuare chiamate EJB con timeout
Come è possibile definire un timeout (limite di tempo di 30 secondi) su EJB B
?
Posso definire EJB B
come Asynchronous
che restituisce Future
e quindi fare Future.get(30, TimeUnit.SECONDS)
. Ma è la soluzione migliore?
grazie
P.S. Uso Glassfish 3.1
Non intendo interrompere EJB. L'idea era di restituire la risposta (o "errore di timeout") all'interfaccia utente dopo 30 secondi. – lili
Certo, ma il time-out del front-end senza ritardi sul back-end sembra poco saggio. Alla fine, i thread back-end verranno consumati e i thread front-end dovranno attendere comunque. Dato quello che hai detto, usare '@ Asynchronous' è probabilmente il migliore. –