在使用中,HttpService不是WebContainer(来自Pax Web)

时间:2017-03-03 13:00:10

标签: java session jax-rs osgi whiteboard

我试图让SessionListener与我的JAX-RS JSON频道一起工作。在黑暗中进行一些探索,我试图实例化应该能够处理监听器的Pax-Whiteboard环境,所以我已经将捆绑包添加到我的OSGi环境中。现在我有以下错误:

  

[蓝图扩展器:3]错误   org.ops4j.pax.web.extender.whiteboard.internal.WebApplication -   已跳过注册   [ListenerWebElement {映射= DefaultListenerMapping {httpContextId = NULL,听者= org.example.MySessionListener @ 5c235feb}}]   由于注册期间的错误   java.lang.UnsupportedOperationException:内部错误:正在使用中   HttpService不是WebContainer(来自Pax Web)

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

更具体地说,有没有办法解决它?

1 个答案:

答案 0 :(得分:0)

看起来你错过了一些Pax-Web捆绑包。 OSGi HttpService规范不提供SessionListener的可能性,这只适用于新的OSGi R6 Http白板规范。 根据您使用的Pax-Web版本,这是可能的或不可能的。 但要拥有这一点,尤其是对于6.0之前的版本,您还需要添加Pax-Web-War以及可能更多的捆绑到您的环境中。 看一下Pax-Web项目的相应集成测试 Pax-Web-Integrationtests base class 这是运行Pax-Web所需的捆绑包的完整列表,包括War扩展,因此您可能需要删除一些捆绑包。