2011-01-21 12 views
1

私はaarの形式でそれをTomcatの下のフォルダに展開する必要があるopenJPAベースのプロジェクトを持っています。tomcatのaarからpersistence.xmlをロード

のtomcat \ webappsに\ axis2の\ WEB-INF \サービス

しかし、サービスがAARファイル内のMETA-INFフォルダ内のpersistence.xmlファイルを読み込むことができないようです。私はDummySerivce.aarのように、AARファイルの名前を変更することが解決策を見つけた - 、が> DummySerivce.jar、その後、libフォルダにDummySerivce.jarを入れ、正確

のtomcat \ webappsに\ Axis2の\ WEB-INF \ lib

今回は、persistence.xmlをロードしてサービスが正常に動作するようになりました。しかしこれは、仕様に含まれていないjarファイルを不必要にインポートしました。

私の質問は、aarファイルから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は環境からすべて のjarファイルが含まれています(Webアプリケーションを言う)と
  • サービス アーカイブで指定されたもの/ libサービスの下に(aar)ファイルがあります。 - TCCLには、 サービスアーカイブ(aar)のすべてのjarが含まれています。
+0

[記事のアドレスh変更された](http://wso2.org/node/1131/print)。 service.xmlのすべてのサービスにパラメータを設定することは可能ですか? –

+0

@ajozwikが更新されました。ありがとうございます。 – Gnavvy