我正在编写使用CDI的Java SE应用程序。
我有bean定义:
public class BeanA {
@PostConstruct
public void init() {
System.out.println("INIT");
}
public void receive(@Observes String test) {
System.out.println("received: " + test);
}
}
要求:
- 我需要在申请中有许多BeanA
个实例
- 我想使用事件CDI机制与那些对象进行通信
当我使用@Dependent
范围时,每次收到新邮件时都会调用@PostConstruct
BeanA
。当我使用@Singleton
或@ApplicationScope
时,我无法拥有许多BeanA
类型的对象。
我的问题的解决方案是什么?