Я использую CDI (Weld) в приложении Java SE. Я сделал Bean, назовем его BeanA.
public class BeanA {
@PostConstruct
public void init() {
System.out.println("INIT");
}
public void receive(@Observes String test) {
System.out.println("received: " + test);
}
}
В моем тестовом методе я вызываю:
Weld weld = new Weld();
WeldContainer container = weld.initialize();
Instance<BeanA> instance = container.instance().select(BeanA.class);
BeanA bean = instance.get();
container.event().fire("TEST");
container.event().fire("TEST");
container.event().fire("TEST");
container.event().fire("TEST");
Почему выход такой? Почему @PostConstruct вызывается каждый раз при получении события?:
INIT
INIT
получено: TEST
INIT
получено: TEST
INIT
получено: TEST
> INIT
получено: TEST