2017-03-20 6 views
1

私たちは組織のユーザーに関する情報を格納するためのカスタムアノテーション、リクエストフィルタ、JPAエンティティを含む内部使用のSDKを開発しています。 SDKはMavenアーティファクトであり、ユーザー情報エンティティを保持する永続ユニットの定義を含みます。2つのJava EEアプリケーションが同じ永続ユニットとデータソースを共有することは可能です

私たちの問題は、同じコンテナまたは独自のコンテナに展開されたSDKを使用して、複数のアプリケーションをサポートする必要があるということです。 (SDKの永続性コンポーネントは、独自のマイクロサービスにリファクタリングできません)

私たちの質問:私たちの認証コンポーネントが使用する永続ユニットはSDKで定義されているため、同じコンテナ内で実行されている複数のJavaプロジェクト同じデータソースと永続ユニットの組み合わせを参照してください。あるいは、これを回避する方法がありますか?

+0

私は、すべてのプロジェクトが通常のMaven依存関係としてSDKを追加すると思いますが、各アプリケーションには独自のpersistence.xmlがあります。ここでSDKも参照され、エンティティは my-sdk.jar simdevmon

+0

それはそれを行う正しい方法のように聞こえません。私たちは複雑さを1つの依存関係に減らそうとしています。 gitのファイルをチェックアウトし、プロジェクト内のファイルを手動で変更することで、動作させることができますが、私たちのプロジェクトはMavenからのインクルードに縮小することです。 – KG6ZVP

答えて

0

私が考えることのできる1つの方法は、sdkのプレースホルダに必要なpu名以外のすべての設定を持つpersistence.xml用のテンプレートを作成することです。アプリケーションのプロパティファイルからプロジェクト固有のpu名を取得し、テンプレートからpuプレースホルダを置き換えることによって、アプリケーションのpersistence.xmlファイルを作成するsdkのJavaクラスです。

関連する問題