Java CDI-当观察者观察到事件时,是否通知调用方?

Java CDI-当观察者观察到事件时,是否通知调用方?,java,observer-pattern,cdi,Java,Observer Pattern,Cdi,我正在使用CDI,想知道如何通知调用方观察到或没有观察到事件。如果没有人对那件事采取行动,那么我想做点什么。我看不到文档中的任何地方记录了这一点,只是有一个提示,提示调用方收到了通知 谢谢 Walter我认为没有通知呼叫方(这不是观察者模式的实际内容)。但您可以尝试通过以下方式解决此问题: 您可以在事件对象中设置一个字段-private boolean consumered,如果已使用,则将其设置为true。然后,(同步处理事件)在事件生成器中检查该变量 从事件生成器观察到的观察者触发新事件

我正在使用CDI,想知道如何通知调用方观察到或没有观察到事件。如果没有人对那件事采取行动,那么我想做点什么。我看不到文档中的任何地方记录了这一点,只是有一个提示,提示调用方收到了通知

谢谢


Walter

我认为没有通知呼叫方(这不是观察者模式的实际内容)。但您可以尝试通过以下方式解决此问题:

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

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

  • 如果您想放弃松耦合的好处,并且您确切地知道事件生成器是哪一个,那么您可以
    @将它注入到所有侦听器中,并让它们对它调用一个方法


我认为呼叫方没有收到通知(这不是观察者模式的实质内容)。但您可以尝试通过以下方式解决此问题:

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

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

  • 如果您想放弃松耦合的好处,并且您确切地知道事件生成器是哪一个,那么您可以
    @将它注入到所有侦听器中,并让它们对它调用一个方法


“这不是观察者模式实际上是什么”+1只是为了这个事实,我在想我该怎么做。“这不是观察者模式实际上是什么”+1只是为了这个事实,我在想我该怎么做。