2017-12-13 11 views
1

実行時にdatasourceを切り替える必要があります。異なるデータベース構成データ(mysql、oracle、mongodb ..)がDBに永続化されます。いつでもdatasourceを追加する必要があるので、私はそれを行います。今、私がdatasourceを使用すると、DBのデータベース構成データを取得し、新しいsqlSessionFactoryを再度作成します。springboot異なるデータソースを動的に切り替える方法

Spring IOCコンテナに対処するにはどうすればよいですか?

+0

は、あなたはあなたの任意の特定のトラブルの原因となる具体的な例を挙げてもらえますか? –

+0

カスタムスコープと 'interface'プロキシを使用します。変更が必要な場合は、スコープ内の古いインスタンスを破棄し、新しいインスタンスを設定します。 –

+0

解決策を参照してください。 https://stackoverflow.com/a/41563065/4423636 –

答えて

0

あなたはSpringマルチテナントによってサポートされる必要があります。

テナントを保持するテナントコンテキスト(テナントがスレッドごとに定義されている場合のThreadLocalストレージなど)と、必要なテナントを識別するテナントリゾルバを定義する必要があります(たとえば、要求を傍受してヘッダーまたはトークンからテナントを取得する)マルチテナント接続プロバイダ(スレッドローカルからテナントを読み取り、テナント固有のデータソース/接続を提供する)。

the example参照してthe example

+0

これは少し似ていますが、例は非特定です。さらに、テナントは多分複数のデータソースを持つことができます。データソースはおそらくnosqlです – Ajust

関連する問題