繁体   English   中英

CDI-当观察者观察到事件时会通知呼叫者吗?

[英]CDI - is the caller notified when an observer observes an event?

我正在使用CDI,想知道如何通知呼叫者观察者已观察到事件或未观察到事件。 如果没有观察者对该事件采取行动,那么我想做点什么。 除了提示已通知呼叫者的提示外,我在文档中的任何地方都没有看到此文档。

谢谢,

沃尔特

我不认为呼叫者会收到通知(这实际上不是观察者模式所针对的)。 但是您可以尝试通过以下方法解决此问题:

  • 您可以将一个字段作为事件对象-使用了private boolean consumed ,如果使用了它,则将其设置为true 然后,事件生成器中的(事件被同步处理)检查该变量。

  • 从观察者触发事件生产者观察到的新事件

  • 如果您想放弃松散耦合的好处,并且确切知道事件产生者是哪个,则可以将其@Inject注入所有侦听器,并让他们在其上调用方法。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM