CDI - уведомляется ли вызывающий абонент, когда наблюдатель наблюдает за событием? - PullRequest
0 голосов
/ 02 октября 2010

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

Спасибо

Walter

1 Ответ

3 голосов
/ 02 октября 2010

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

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

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

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

...