2016-04-28 6 views
0

私はspring-data-restでアプリケーションを開発しました。 私はそれを愛し、それは魅力のように動作します。Spring JPAのリクエストヘッダに応じたデータソースの変更

複数の顧客に1つのバックエンドを実装するには、カスタムリクエストヘッダで送信されるapikeyに応じてリポジトリのデータソースを変更します。

すべてのデータベース構成を管理する外部マイクロサービスから接続情報(url、credentials、database)を取得できます。

考えられるのは、起動時に使用可能なすべてのデータベース接続を取得し、apikeyをキーに、接続情報を値としてマップに格納することです。

実行時に受信リクエストごとに自分のレポのデータソースをどのように変更できるかは不明です。

アイデア?

答えて

2

JPAプロバイダによっては、マルチテナントサポートが必要です。

Hibernateの場合、使用するデータソースを設定するために、Springとプラグインするのが非常に便利なmulti-tenancy APIがあります。 APIの詳細についてはMultiTenantConnectionProviderCurrentTenantIdentifierResolverをご覧ください。

+0

ご回答ありがとうございます。マルチテナンシーは正しい方向に私を押し込んだ。このためにUpvote。 –

関連する問題