我已经阅读了一些关于 JEE6 上的观察者模式实现的博客文章,有些事情困扰着我......我找不到任何信息 atm 所以我在那里问......
我发现了以下示例:
@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
}
}
我无法理解事件消费者和事件生产者之间的链接是如何完成的......
是通过方法的命名约定吗?(“on”、“after”、“before”……这些词是有意义的)
是通过比较给定的参数(这里是 String 和 MyEvent)吗?
我不知道,也看不出还有什么……