2016-09-21 10 views
0

JSF + CDI + JPAとWildflyサーバーを使用するWebアプリケーションがあります。この瞬間までに、Wildflyはトランザクション、認証セキュリティ、電子メールサービスを管理しています...私の問題は、私のシステムが複数のデータベースにアクセスする必要があることです。クライアントがログインするように、ログインとパスワードを入力してデータベースを選択します。JSF + Wildflyは多くのデータベースを動的に接続します

私はすでにマルチテナントが非常に興味深いように見えなかったので、多くのことをグーグルで解決しました。私はまた、サーバーの責任を取ってアプリケーションに接続し、通常は注射を使用して管理することを考えましたが、セキュリティ管理やWildflyがこれまでに管理していたすべてのもののように、多くの問題があります。

この問題の解決方法に関するヒントやアイデアはありますか?

+0

JTAトランザクションは、複数のリソース(したがって、データベース)にわたることができます。 – Tiny

+0

私はJTAトランザクションを使用していますが、データベースごとに永続ユニットを作成せずにどのように実行できるかわかりません。私の場合、各クライアント組織にはデータベースがあります。そして、私は新しいクライアントがあるたびに.warファイルを生成したくありません...(すべてのデータベースは同じ構造です) – Eduardo

答えて

0

Hibernate multitenancyDATABASEモードでチェックしてください。これはWildFly 10でうまくいきます。

基本的には、現在の要求に対して適切なデータベースへの接続を提供するMultiTenantConnectionProviderを実装するだけです。

これは、データベースレベルでの問題を解決するはずです。現在のリクエストの正しいデータベースを判断する方法はまだ分かります。それを現在のHTTPリクエストのURIから派生させて、@RequestScoped beanに格納します。

関連する問題