В компоненте сварки (не EJB) я пытаюсь обработать событие асинхронно.Для этого я пытаюсь запустить асинхронное событие, используя Event.fireAsync, а затем перехватить событие, используя метод, который принимает объект события в качестве параметра и помечается аннотацией @ObservedAsync.FireAsync действительно запускается, но метод @ObservedAsync никогда не вызывается.
@Inject
Event<CustomEvent> customEvent;
public void sendEvent(ObjectRequest request) {
customEvent.fireAsync(new CustomEvent(request))
.thenAccept((CustomEvent) -> {
logger.info(">>>> Event thenAccept");
});
}
public void handeEvent(@ObservesAsync CustomEvent customEvent) {
logger.info("||||||| Received CustomEvent");
this.attribute= logProcessing(customEvent.getRequest());
}
PS: использование Event.fire и @Observe работает, но не асинхронно, и мне нужен этот код.