在Spring应用程序中将数据存储在Threadlocal中的替代方法

时间:2019-05-21 20:17:25

标签: java spring multithreading spring-boot multi-tenant

我正在构建一个多租户应用程序,其中每个租户都有一个值对象,该对象保存其站点的设置。这些设置需要从数据库中收集,并在每次请求期间从各个位置进行访问。我的问题是,存储和处理此类数据的正确方法是什么?

我的第一个想法是将这个对象存储在ThreadLocal中,并在需要检查特定设置(例如:String val = SiteSettings.getSettings().getXXX();)时从它中拉出,但是我知道如果您不这样做会很危险。正确清除ThreadLocal和每个请求的结尾。在这种情况下,有没有比使用ThreadLocals更好的选择了?

0 个答案:

没有答案