2012-06-27 28 views
2

我们正在为每个租户建立一个数据库/架构的多租户服务器。 为此,我们使用Springs AbstractRoutingDataSource来切换基于租户的数据源。Spring AbstractRoutingDataSource backrgound threads

租户由servlet过滤器中url的子域决定。 该租户存储在线程本地。

这一切都正常工作,直到线程启动。 例如,当hibernate搜索重新索引时,它会启动很多线程。

当其中一个线程试图获得连接时,线程本地返回null,我无法确定租户。

任何人都可以指出我解决这个问题的正确方向吗?

回答

0

我通过使用存储我的租户的会话作用域spring bean来修复它。

请参阅link样本