Java 正在使用的HttpService不是网络容器(来自Pax Web)

Java 正在使用的HttpService不是网络容器(来自Pax Web),java,session,jax-rs,osgi,whiteboard,Java,Session,Jax Rs,Osgi,Whiteboard,我正试图让SessionListener使用我的JAX-RSJSON通道。在黑暗中进行了一些探索,我试图实例化Pax白板环境,该环境应该能够处理侦听器,因此我已经将包添加到我的OSGi环境中。现在我有以下错误: [Blueprint Extender:3]错误 org.ops4j.pax.web.extender.whiteboard.internal.WebApplication- 已跳过的注册 [ListenerWebElement{mapping=DefaultListenerMappin

我正试图让SessionListener使用我的JAX-RSJSON通道。在黑暗中进行了一些探索,我试图实例化Pax白板环境,该环境应该能够处理侦听器,因此我已经将包添加到我的OSGi环境中。现在我有以下错误:

[Blueprint Extender:3]错误 org.ops4j.pax.web.extender.whiteboard.internal.WebApplication- 已跳过的注册 [ListenerWebElement{mapping=DefaultListenerMapping{httpContextId=null,listener=org.example。MySessionListener@5c235feb}}] 由于注册时出错 java.lang.UnsupportedOperationException:内部错误:正在使用 HttpService不是网络容器(来自Pax Web)

这个错误意味着什么?这是否意味着,Pax处理的SessionListener不能使用,因为Pax创建了自己的HttpService,而我已经有了支持JAX-WS的HttpService


更具体地说,有什么办法可以解决吗?

看起来您缺少了一些Pax Web捆绑包。 OSGi HttpService规范没有为会话监听器提供可能性,这只有在新的OSGi R6 Http白板规范中才可能实现。 根据您使用的Pax Web版本,这是可能的还是不可能的。 但要实现这一点,特别是对于6.0之前的版本,您还需要向您的环境中添加PaxWebWar,也许还需要一些捆绑包。 看看PaxWeb项目的相应集成测试 这是运行PaxWeb(包括War扩展)所需的包的完整列表,因此您可能需要去掉一些包