java-使用Spring Boot进行多租户
作者:互联网
我打算使用多租户应用程序,而现在我只是在网上查看不同的实现,以了解实现此类任务所需的要求.
Hibernate Spring boot是我计划使用的技术.
根据我的阅读,所有不同的教程都使用相同的方法,即在配置文件中声明数据源,以便在应用程序启动时启动会话工厂,但我确实希望拥有更高级别的应用程序,在这里我可以动态添加租户并输入其数据源信息.
这样,应用程序无需触摸配置文件并重新启动应用程序即可获取新租户的信息.
我考虑过要有一个单独的数据库,可以在其中存储租户数据源凭据或类似的东西.您能给我另一种解决此要求的方法还是我可以参考的现有实现的链接.
谢谢
解决方法:
过去我也有类似的要求.
我实现了DataSource代理类.该类具有租户解析器和简单DataSources的映射.我们需要数据源的所有地方都使用代理.
在任何方法上调用getConnection()解析租户,检查地图是否包含已创建的DataSource(如果未为租户创建新的DataSource并存储在数据库中).然后,调用来自映射的真实DataSource的相同方法.
租户解析器基于ThreadLocal,租户值存储在过滤器中(从请求标头中获取租户),并在DataSource代理中使用.
标签:spring-boot,hibernate,multi-tenant,spring,java 来源: https://codeday.me/bug/20191025/1932419.html