Ich habe eine Stateful EJB mit einer transaktionalen @Asynchronous
Methode, die Future<T>
zurückgibt.Was passiert, wenn eine statusbehaftete Bean während des Aufrufs der asynchronen Methode zerstört wird?
@SessionScoped
@Named
public class SessionBean {
@EJB
EjbService service
public void call() {
Future<Object> response = service.process();
}
}
@Stateful
@TransactionAttribute(TransactionAttributeType.REQUIRED)
public class EjbService {
@Asynchronous
public Future<Object> process() {
//
}
}
Die Frage ist, was mit der Transaktion geschieht, wenn ein Benutzer die Web-Sitzung während der Ausführung dieser asynchronen Aufruf endet: Es wird von Web-Tier (@SessionScoped
CDI Bean), wie unten gezeigt genannt?