Если метод, аннотированный @Asynchronous, имеет перехватчик, метод @AroundInvoke выполняется в том же потоке, который будет выполнять асинхронный метод, если возможно, чтобы выполнение метода перехватчика происходило в потоке, который сделал вызов метода asyn c?
Это для передачи данных из потока вызывающего в поток, который будет выполнять метод asyn c
ниже фрагмента кода, который я использовал для проверки этого :
@Stateless
public class ServiceA{
@Asynchronous
@Interceptors(ServiceAInterceptor.class)
public void m1(){ ... }
}
public class ServiceAInterceptor{
@AroundInvoke
public Object intercept(InvocationContext context) throws Exception {
...
return context.proceed();
}
}
@Stateless
public class ServiceB{
public void m2(){
serviceA.m1();
}
}
Даже если @Interceptors будет перемещен на уровень класса, поведение будет таким же.
Спасибо за любую помощь