Я пытаюсь заставить весеннюю загрузку работать с событиями cdi. У меня есть следующий класс, который вызывает событие.
@Component
@UIScope
public class Login extends LoginOverlay
{
@Autowired
private UserInfo userInfo;
@Inject
private Event<UpdateCWViewEvent> cwevent;
@PostConstruct
public void init()
{
addLoginListener(new ComponentEventListener<LoginEvent>()
{
@Override
public void onComponentEvent(LoginEvent event)
{
userInfo.login(event.getUsername(), event.getPassword());
if (userInfo.isLoggedIn())
{
setButtonLabel();
close();
cwevent.fire(new UpdateCWViewEvent());
}
}
});
}
}
И в другом классе следующий метод
public void update(@Observes(notifyObserver=Reception.IF_EXISTS) UpdateCWViewEvent event)
{
//do something
}
Теперь у меня есть следующая проблема. Мне нужна реализация javax.enterprise.event.Event. Я пытался взять шов и использовать стандартную Eventimpl. Теперь я попытался настроить класс Spring Configuration, чтобы сообщить моему приложению о реализации моего события.
@Configuration
public class Config
{
@Bean
public Event<UpdateCWViewEvent> cwEvent()
{
//return EventImpl.of(injectionPoint, beanManagerImpl);
}
}
Я не знаю, что делать сjectionPoint и beanManagerImpl. Кто-нибудь из вас имел такую же проблему и решил ее? Или у кого-нибудь есть альтернатива для запуска простых событий cdi в приложении с весенней загрузкой?
Большое спасибо и оставайтесь здоровыми!