2011-01-21 60 views
1

我有一個基於openJPA的項目,我需要將它部署到的文件中,並將它們部署到Tomcat下面的文件夾中。從tomcat加載persistence.xml

的tomcat \的webapps \ Axis2的\ WEB-INF \服務

但似乎該服務不能AAR文件中加載在META-INF文件夾中的persistence.xml文件。我發現了一個解決AAR文件重命名爲罐子,像DummySerivce.aar - > DummySerivce.jar然後把DummySerivce.jar到lib文件夾中,必須準確

的tomcat \的webapps \ Axis2的\ WEB-INF \ lib

這一次,可以加載persistence.xml並且服務運行良好。但是這不必要地導入了一個未包含在規範中的jar文件。

所以我的問題是,有沒有什麼辦法從加載persistence.xml文件?是否有可能在代碼中重載persistence.xml文件的路徑?

btw,只有實體信息留在persistence.xml中,數據庫連接參數已經在代碼中定義了,我使用的是Axis2。

謝謝!

回答

4

我找到了解決辦法。

通過將以下行添加到services.xml中,可以成功加載打包到aar文件中的persistence.xml。

<parameter name="ServiceTCCL">composite</parameter> 

瞭解詳細信息。請參閱http://wso2.org/node/1131

現在檢查是否有任何副作用。

TCCL - 線程上下文類加載器

  • 默認 - 現狀,正常的行爲
  • 複合 - TCCL包含環境(比如Web應用程序)的所有 罐子和那些在
  • 服務 檔案指定(aar)文件 - TCCL包含來自 服務檔案(aar)的所有罐子
+0

[文章h作爲改變](http://wso2.org/node/1131/print)。有沒有可能爲service.xml中的所有服務設置參數? – 2012-12-20 10:45:45