2010-12-17 64 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