我正在尝试与我的JAX-RS JSON频道一起使用SessionListener。在黑暗中有点探索,我试图实例化Pax-Whiteboard环境,该环境应该能够处理侦听器,因此我将捆绑包添加到了OSGI环境中。现在我有以下错误:
[蓝图扩展器:3]错误 org.ops4j.pax.web.extender.whiteboard.internal.webapplication- 跳过注册 [listererwebelement {mapping = defaultListEnermpapping {httpcontextid = null,listener = org.example.mysessionlistener@5c235feb}}]] 由于注册期间错误 java.lang.unsupportedoperationException:内部错误:正在使用 httpservice不是WebContainer(来自PAX Web)
此错误是什么意思?这是否意味着,由于PAX创建了自己的httpservice,因此无法使用PAX处理的sessionListener,而且我已经拥有支持Jax-ws的人?
,更具体地说,有什么方法可以处理?
看起来您缺少一些pax-web捆绑包。OSGI HTTPSERVICE SPEC不能提供SessionListeners的可能性,只有在新的OSGI R6 HTTP Whiteboard规范中,这才有可能。根据您使用的PAX-WEB的版本,这是可能的或不可能的。但是要有这个,尤其是对于先前6.0版的版本,您还需要在环境中添加Pax-web-war,也许还有更多捆绑包。查看PAX-WEB项目的相应集成测试pax-web-IntegrationTests基类这是运行PAX-WEB所需的捆绑包的完整列表,包括战争扩展,因此您可能需要剥离一些。