CDI - это вызывающий абонент, когда наблюдатель наблюдает за событием?

StackOverflow https://stackoverflow.com/questions/3844596

  •  27-09-2019
  •  | 
  •  

Вопрос

Я использую CDI и хочу знать, как вызывает абонент, что наблюдатель наблюдал, что событие или не сделало. Если нет, не соблюдает действовать на этом событии, то я хочу что-то сделать. Я не вижу, что это задокументировано где угодно в документации, отличной от того, что был намек на то, что вызывающий абонент уведомлен.

Спасибо,

Уолтер

Это было полезно?

Решение

Я не думаю, что вызывающий абонент уведомлен (это не то, что узор на соблюдении). Но вы можете попытаться поработать об этом:

  • Вы можете иметь поле одним объектом события - private boolean consumed и установить его true Если он потребляется. Затем (события обрабатываются синхронно) в производителе событий проверьте эту переменную.

  • Увольнение нового события от наблюдателей, которые наблюдаются производителем событий

  • Если вы хотите отбросить преимущество свободной муфты, и вы точно знаете, какой производителем событий есть, вы можете @Inject это во всех слушателей, и пусть они вызывают метод на нем

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top