我有一个Websocket servlet和一个Rest servlet。我想将更改通知websocketservlet,以便通过websocket将这些"事件"写入服务器。
我只能找到forward()和include()方法。但在我看来,他们只能在Get、Post等上转发
我错过什么了吗?
实际上,forward()
和include()
用于处理请求。因此,考虑到你想要实现的目标,它们可能不是最好的选择。
您可以做的是创建第三个组件,暂时称之为EventManager
,并将Restservlet信号更改为EventManager
。另一方面,EventManager
可以通知websocket新数据可用,然后获取该新数据以便将其写回客户端。
在这种方法中,Rest servlet和websocket servlet必须共享EventManager
的同一实例。您可以通过添加@Singleton
注释将EventManager
标记为单例EJB,并将其注入Restservlet和websocketservlet来实现这一点。