是否将@Observer方法附加到Java WebSocket ServerEndpoint?

是否将@Observer方法附加到Java WebSocket ServerEndpoint?,java,events,websocket,observers,Java,Events,Websocket,Observers,这似乎是一个微不足道的想法,但。。。我希望我的JavaEE7WebSocket端点有一个观察事件的方法,以便在事件触发时可以将消息发送回浏览器客户端。将事件放在WebSocket上是有意义的,因为当会话打开WebSocket时,您可以在那里缓存会话,并使用它将消息发送回正确的客户端 但是。。。如果我在WebSocket上使用一个简单的@Observes方法,那么当事件触发时,它会创建一个新的WebSocket实例,该实例没有缓存会话。或者,当我使用@ObservesnotifyObserver=

这似乎是一个微不足道的想法,但。。。我希望我的JavaEE7WebSocket端点有一个观察事件的方法,以便在事件触发时可以将消息发送回浏览器客户端。将事件放在WebSocket上是有意义的,因为当会话打开WebSocket时,您可以在那里缓存会话,并使用它将消息发送回正确的客户端

但是。。。如果我在WebSocket上使用一个简单的@Observes方法,那么当事件触发时,它会创建一个新的WebSocket实例,该实例没有缓存会话。或者,当我使用@ObservesnotifyObserver=如果存在,尝试阻止创建新的WebSocket实例时,它根本不会触发


帮忙?不能将WebSocket端点用作事件观察者吗?还是有更好的方法将消息路由回首先打开套接字的客户端?

您使用的是CDI@Observes吗?如果是,您的WebSocket端点是否启用了CDI类?它有@*范围或类似的东西吗?。至少共享部分代码应该会有所帮助,还可以添加关于您使用的JavaEE容器的信息。无论如何,应该有帮助的是向端点注入一些CDIBean,在那里传递会话,并将该对象用作观察者,而不是端点本身。是的,@Observes。我正在使用Glassfish 4.0和Netbeans 7.4。我在端点上没有显式的作用域属性,因为我认为它是自动确定会话作用域以处理端点对话的。我将尝试将其显式化,如果这不起作用,则生成一个新的POJObean,用于缓存会话的事件处理。今晚8个小时后我才能回来。好吧-这看起来像是我的问题:好吧-在WebSocket规范与CDI集成之前,这种基本方法不会起作用。还有更多。。。