我读过关于JEE6 Observer模式实现和东西打扰我的一些博客文章...我无法找到ATM的任何信息,所以我问那里......

我发现以下exemples:

@Stateless
[...]
public class ParisJugService {

   @Inject
   Event event;

   public void helloParis(){
        System.out.println("Hello Paris");
        event.fire("hello Paris invoked!");
   }
}

@Stateless
public class EventReceiver {

    public void onHelloParis(@Observes String message){
        System.out.println("----------- " + message);
    }
}

public class MyEvent {
    String data;
    Date eventTime;
    ....

}

public class EventProducer {

  @Inject @Any Event<MyEvent> event;


  public void doSomething() {
       MyEvent e=new MyEvent();
      e.data="This is a test event";
      e.eventTime=new Date();
      event.fire(e);

  }

}


public class EventConsumer {


    public void afterMyEvent(@Observes MyEvent event) {

        // .. Insert event logic here
    }

}

我不明白怎么事件消费者和事件生产者之间的联系后...

通过命名的方法的公约是吗? (其中,“前” ...“上”,“后”,该词语将有义)

通过给定的参数(在此字符串和MyEvent)相比是吗?

我不知道,看不到还有什么可以说,它是...

有帮助吗?

解决方案

事件击发和收听者之间的链路是基于所述事件类型。

在您的示例:

public class EventConsumer {

    public void afterMyEvent(@Observes MyEvent event) {
        // .. Insert event logic here
    }

}

这个类将接收所有的燃烧型MyEvent的事件,无论他们来自何方。

来源: HTTP://下载-llnw.oracle.com/javaee/6/api/javax/enterprise/event/Observes.html

其他提示

在容器保持的元数据有关它里面的所有豆。在启动时将其与事件类型(自变量的Class)他们观察注册所有观察者方法在一起。每当一个事件被触发,观察者的列表中检查该接受适当的类型的事件的方法。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top