2012年2月2日星期四

NetBeans_014:开发JavaEE 6 应用之十四:使用CDI Event实现观察者模式

在本实验中,我们将监听增加Customer事件。

1. 创建增加Customer事件类:NewCustomerAdded
这个类没啥特别,就是一个普通的Java类,没有加任何标注。
public class NewCustomerAdded {

    private int id;

    public NewCustomerAdded(int id) {
        this.id = id;
    }

    public int getId() {
        return id;
    }
}


2. 修改TestServlet
(1)依赖注入事件:@Inject Event newCustomerEvent;
(2)在增加Customer逻辑中的最后一行,增加newCustomerEvent.fire(new NewCustomerAdded(Integer.parseInt(id)));
即每次增加Customer时,都会fire一个NewCustomerAdded事件。

3. 修改CacheSingletonBean,增加监听方法:onAdd
public void onAdd(@Observes NewCustomerAdded event) {
System.out.println("Processing the event: " + event.getId());
preFetchCustomers();
}
该方法将监听NewCustomerAdded事件,无论事件的发起者是谁。

至此,使用NetBeans 7.1开发JavaEE6应用系列文章告一段落。


我们来回顾一下使用到的Java EE 6的新技术,以及这些技术之间的典型架构:




Project下载:JavaEE6SampleApp.7z

没有评论: