我正在开发基于Hibernat 4的多租户应用程序。 我使用单独的数据库解决方案。 我使用Mysql作为数据库提供者。 对于每个新租户我添加一个新的数据库到MySQL。 我想在不重新启动应用服务器的情况下将新租户添加到我的应用程序中。 我使用DriverManagerDataSource为每个租户创建一个新的数据源,但这个类不打算用于生产?我应该使用哪个课程? 我正在考虑将数据源添加到应用服务器并使用JNDIdatasource,但问题是我需要重新启动每个新租户的应用服务器。有什么方法可以在不重新启动应用程序服务器的情况下添加数据源?多租户应用程序的数据源
4
A
回答
2
为了让您直接回答您的问题,您可以通过JMX公开您的应用程序上下文并以编程方式修改它。这样做的问题是更改将是暂时的,即,如果您重新启动服务器,它们将不会被保留。
另一种方法是以编程方式修改底层xml文件(假设您使用的是xml)并在应用程序上下文中调用refresh()。例如,你可以为数据源创建的占位符Velocity模板:
<beans>
...
#foreach ($datasource in $datasources)
$datasource
#end
...
</beans>
你会再传给你所有需要的数据源,以速度的名单,然后这将产生一个更新的数据源-context.xml的
但正如其他用户指出,这是不是一个好主意,更好地去分区或其他方法
相关问题
- 1. 多租户应用程序的数据库配置
- 2. 限制访问多租户应用程序中的数据
- 3. SaaS多租户应用程序Jumpstart
- 4. 多租户Web/SaaS应用程序
- 5. Azure AD B2C多租户应用程序
- 6. ASP.NET多租户应用程序
- 7. Azure Active Directory |多租户应用程序
- 8. MVC3多租户应用程序
- 9. Azure AD多租户应用程序
- 10. 多租户Seam + JPA应用程序
- 11. ASP.net身份和多租户多用户应用程序
- 12. Azure DocumentDB多租户应用程序中的用户
- 13. 多租户w/NHibernate +温莎城堡(单个应用程序,多个数据库)
- 14. 内部网上的多租户或多实例应用程序
- 15. 什么是一些多租户应用程序的数据库优化的
- 16. 租户注册失败:云服务多租户MVC应用程序
- 17. 如何为几乎2000名租户规模化多租户应用程序
- 18. 如何在Azure多租户应用程序中登录特定租户?
- 19. 多租户应用程序的数据库命名约定如何更改?
- 20. 具有共享数据和动态表格的多租户应用程序
- 21. 多租户萨斯资源
- 22. pentaho的租户感知数据源BI
- 23. 使用Propel ORM的多租户应用程序
- 24. 带过滤的dbContext的多租户Web应用程序
- 25. Laravel - 在多租户应用程序上设置动态数据库连接
- 26. 在命名空间多租户Appengine应用程序中管理全局数据
- 27. SaaS多租户应用程序:如何实施数据导入/导出/备份?
- 28. 多租户到我现有的angularjs应用程序
- 29. 管理多租户应用程序的SSL证书
- 30. 构建SharePoint Online的多租户应用程序O365
也许这会帮助你:http://blog.springsource.org/2007/01/23/dynamic -datasource-routing/ – 2012-04-15 08:54:18
这通常不是一个好的设计为每个新用户/租户使用数据库等。您可能想考虑使用具有分区的单个数据库:http://dev.mysql.com/doc/refman/5.1/en/partitioning-overview.html – samlewis 2012-04-15 11:56:38