2010-12-17 100 views
1

我在Fuse 4.2中部署了一个简单的CXF RS包,它在初始安装时工作正常。但是,当我更新或重新安装捆绑软件时,REST服务不再可用。使用cxf-extension-osgi重启OSGi

我尝试了各种配置和发现利用CXF扩展OSGi的是问题...

从这个

...

<import resource="classpath:META-INF/cxf/osgi/cxf-extension-osgi.xml"/> 

这个...

<import resource="classpath:META-INF/cxf/cxf-extension-http-jetty.xml"/> 

此外,我更新的地址是非相对的...结束了这种配置(工程包重启后,等)

<import resource="classpath:META-INF/cxf/cxf.xml" /> 
<import resource="classpath:META-INF/cxf/cxf-extension-jaxrs-binding.xml" /> 
<import resource="classpath:META-INF/cxf/cxf-extension-http.xml" /> 
<import resource="classpath:META-INF/cxf/cxf-extension-http-jetty.xml" /> 

<jaxrs:server id="testService" address="http://localhost:9000/"> 
    <jaxrs:serviceBeans> 
     <ref bean="testBean" /> 
    </jaxrs:serviceBeans> 
</jaxrs:server> 

任何想法是什么在使用cxf-extension-osgi时引起这个问题?另外,使用cxf-extendion-http-jetty代替(功能,性能等)时的折衷是什么?

谢谢

回答

1

对不起,它似乎是错误的cxf/servicemix集成。问题是,cxf尝试在已经使用的地址下(通过此服务的旧版本)注册服务。

软件包重新启动/更新后,REST和SOAP服务都无法访问。重新启动整个服务混音。 Hovewer,当业务逻辑处于其他捆绑包中,并且具有SOAP/REST服务的捆绑包仅包含接口时,仅当接口已更改时才需要重新启动。

我们长期以来一直在与这个错误作斗争,但不幸的是没有努力。

+0

感谢Lechlukasz ......一些别的提到,固定有保险丝4.3 ...但它听起来像它仍然是一个问题。 – 2010-12-21 20:52:29