【发布时间】:2016-07-28 16:25:48
【问题描述】:
我正在使用 Spring 实现一个多租户系统,其中每个租户都有自己的数据库。我已经启动并运行了一切。
我扩展了“AbstractRoutingDataSource”并覆盖了“determineCurrentLookupKey”,以确定通过用户域/租户使用哪个连接。
“AbstractRoutingDataSource”在应用加载并在此处设置所有可能的数据库连接时被实例化。
这是我的问题-
有没有办法为 AbstractRoutingDataSource 动态添加额外的连接?我希望能够在不重新启动的情况下添加其他租户。
任何帮助将不胜感激
谢谢
【问题讨论】:
-
不适用于
AbstractRoutingDataSource。我们在大约 10 年前使用/开发了this,在生产中仍然像魅力一样工作。它实际上比只是一个数据源更灵活(我们将它用于消息传递、主题、属性等)。 -
感谢@M.Deinum,这比我想象的要简单得多。 AbstractRoutingDataSource 类给了我一个曲线球。按照您的示例,我已经设法使用 AbstractDataSource 类启动并运行。再次感谢!
标签: java spring dynamic spring-data multi-tenant