私はHibernat 4に基づいてマルチテナントアプリケーションを開発しています。 私は別のデータベースソリューションを使用しています。 データベースプロバイダーとしてMysqlを使用します。 新しいテナントごとに、mysqlに新しいデータベースを追加します。 アプリケーションサーバーを再起動せずに、新しいテナントをアプリケーションに追加したいと考えています。 DriverManagerDataSourceを使用して、テナントごとに新しいデータソースを作成しますが、このクラスは本番環境では使用できません。どのクラスを使うべきですか? 私はappserverにデータソースを追加し、JNDIdatasourceを使用することを考えていましたが、問題は新しいテナントごとにアプリケーションサーバーを再起動する必要があることです。 appserverを再起動せずにデータソースを追加する方法はありますか?マルチテナントアプリケーションのデータソース
4
A
答えて
2
あなたの質問に直接答えを与えるために、JMXを介してアプリケーションコンテキストを公開し、プログラムで修正することができます。この問題は、変更が一時的なものになること、つまりサーバーを再起動しても変更が保持されないことにあります。
もう1つの方法は、(xmlを使用していると仮定して)基礎となるxmlファイルをプログラムで変更し、アプリケーションコンテキストでrefresh()を呼び出すことです。たとえば、あなたがデータソースのプレースホルダとVelocityテンプレートを作成することができます。
<beans>
...
#foreach ($datasource in $datasources)
$datasource
#end
...
</beans>
あなたはその後、その後、更新されたデータソース-のcontext.xml
を生成することになる速度にすべての必要なデータソースのリストを渡しますしかし、他のユーザーが指摘しているように、これは実際には良いアイデアではないので、分割や別の方法で行く方が良い
関連する問題
- 1. facebookredirect.axdマルチテナントアプリケーション
- 2. MVC3マルチテナントアプリケーション
- 3. MVC3 - マルチテナントアプリケーション
- 4. マルチテナントアプリケーションのカスタムヘッダー
- 5. マルチテナントアプリケーションとエンティティフレームワーク
- 6. Rails 3のDBセパレーションのマルチテナントアプリケーション
- 7. ASP.NET MVCマルチテナントアプリケーションの質問
- 8. シンプルなsymfonyの2マルチテナントアプリケーション
- 9. マルチテナントアプリケーションのドロップダウンリストを設定する
- 10. マルチテナントアプリケーションの認可宝石ですか?
- 11. マルチテナントアプリケーションでSQL Serverが断片化した接続プールのパフォーマンス
- 12. マルチテナントアプリケーションの構築におけるベストプラクティスは何ですか?
- 13. どのデータソース
- 14. DjangoのCakePHPデータソース
- 15. VS2005:SSRSのデータソース
- 16. ダイナミックテーブルビューのデータソース
- 17. 生データソース
- 18. NSOutlineViewデータソース
- 19. データソースは
- 20. Usercontrolデータソース?
- 21. WPFのレポートビューアコントロールのデータソース
- 22. Node.js(express.js)でマルチテナントアプリケーションを開発するには?
- 23. マルチテナントアプリケーションでGAE/Jバックアップと復元を最適化する
- 24. cx_Oracleとデータソースのパラダイム
- 25. 私のグリッドビューは、データソース
- 26. LINQクエリのListBoxデータソース
- 27. Gridviewデータソースの行数
- 28. SQLデータソースの使用
- 29. Springのデータソースとトランザクションマネージャスコープ
- 30. JDBCデータソースのJNDIパス?
これはあなたを助けるでしょう:http://blog.springsource.org/2007/01/23/dynamic -datasource-routing/ –
一般的には良い設計ではありません新しいユーザー/テナントなどごとにデータベースを作成してください。パーティション化された単一のデータベースを使用することを考えてみてください。http://dev.mysql.com/doc/refman/5.1/en/partitioning-overview.html – samlewis