EJB Асинхронный метод Interceptors: возможно ли выполнить метод перехватчика в потоке вызывающего - PullRequest
0 голосов
/ 10 марта 2020

Если метод, аннотированный @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 будет перемещен на уровень класса, поведение будет таким же.
Спасибо за любую помощь

...