さまざまなユーザー (顧客) が組織のデータのみを含むさまざまなデータベースを指す必要がある Grails Web アプリケーションを開発しています。残念ながら、分離されたデータベースは要件であり、全員に対して 1 つの Web アプリケーションのみを使用できるようにするよう求められています。
ただし、Grails は、1 つのデータベースに接続する単一のデータソース プールのみを想定しています。
ログインしているユーザーに基づいて、セッションごとにデータベース接続を切り替えられるようにしたいと考えています。ここでは、異なる接続が BootStrap init() 中にプロパティ ファイルから読み取られます。
これまでのところ、競合状態がないように見える解決策を見つけることができず、見つけることができるプラグインはなく、一般的な問題ではないようです.
私たちの最も有望な方法は、カスタムの動的データ ソースを作成し、Bootstrap でセットアップして組織 -> dataSource のマップを定義し、Bootstrap で定義されたクロージャを利用して GORM 動作の前に適切な dataSource を見つけることでしたが、これは競合状態を引き起こすようです。レイテンシです。
この切り替えを合法的に実行する方法を知っている人はいますか?
ありがとう