2017-08-21 13 views
0

Wildfly 10サーバーに(別個の.warファイルとして)2つの独立したアプリケーションApp1とApp2が配備されていて、どちらもwildflyの 'org.hibernate'理想的には、両方のアプリケーションが2つの別々のデータベースに接続する必要があります。Wildfly 10の複数のアプリケーション間で共有されている休止状態

これらのアプリケーションのそれぞれは、それぞれのクラスパス内に独自のhibernate.propertiesを持っています。このように展開された最初のアプリケーションApp1のデータベースを使用するように正しく構成されているが、展開第二のアプリケーションApp2のは、最初のアプリケーションからのHibernateプロパティを使用し

問題はApp1ののDBに接続します。

wildflyは、最初のhibernate.propertiesが見つかったhibernateモジュールを初期化し、それをサーバーにデプロイされている他のすべてのアプリケーションとともに使用しているようです。

両方のアプリケーションを独自のDBに接続するように設定する方法や、wildflyの複数のアプリケーションでhibernateモジュールの読み込みがどのように動作するかについての任意の提案は参考になります。

答えて

1

Wildflyでは、Hibernateを直接使用することは想定されていません。代わりに、hereのようにJPA-APIを使用する必要があります。

これは、あなたのコードの中に注入されEntityManager使用していることを意味します

@PersistenceContext(unitName = "customerPU") 
EntityManager em; 

unitName参照あなたのstandalone.xmlで構成されたデータソースの名前の値を。依存関係注入を使用していない場合は、hereのように、EntityManagerをJNDIエントリにバインドすることもできます。

したがって、スタンドアロンのXMLに2つの異なるデータソースを定義し、両方のアプリケーションに2つの異なるエンティティマネージャをインジェクトすることができます。

+0

ヒントのためにsiomをありがとう。私はそれを試してみましょう。 – Nikhil