Я только что получил следующую проблему и не могу понять ответ:@ServerEndpoint может быть EJB, но не может быть простым CDI bean?
@ServerEndpoint("/websocket/server")
public class ServerUpdateEndpoint implements Serializable {
[email protected], OnMessage OnClose annoted methods, works fine...
@PostConstruct
public void start() {
logger.log(Level.INFO, "ServerUpdateEndpoint start");
}
@PreDestroy
public void stop() {
logger.log(Level.INFO, "ServerUpdateEndpoint stop");
}
}
Когда я аннотирования этот класс @Named обратные вызовы жизненного цикла @PostConstruct, @PreDestroy никогда не запускается на выполнение.
Когда я комментирую это с помощью @Singleton, он отлично работает.
Может ли кто-нибудь объяснить, в чем проблема с обычными аннотациями CDI здесь?
Вы правы, совершенно забыл о @ApplicationScoped – execc
На tomEE не приста когда аннотацию @ApplicationScoped, но прекрасно работает с EJB аннотации –
@TomaszGawel, что звучит как конкретный вопрос TomEE. Вот почему это было приостановлено? –