DriverManagerDataSource 是否应该在启用多租户的真实应用程序中使用?

时间:2021-06-29 08:45:13

标签: java spring spring-boot hibernate spring-data-jpa

我正在构建一个 REST API,它专注于将用户的数据相互分离。我实现这一点的方式是使用 Spring 和多租户方法。这意味着我有一个 Main_DB 来保存有关用户及其数据库的信息。对于每个用户,我将拥有一个单独的数据库,其中包含特定于应用程序的数据。到目前为止一切顺利,我通过使用 AbstractRoutingDataSource 实现了这一点,并且在每次调用时,用户都会发送一个带有他的数据的 JWT 令牌,通过他的数据,我将他真正快速地连接到他的数据库并得到他需要的数据。

在创建用户 DataSource 时,我使用了一个包含所有所需信息的普通 DataSource 对象。但是这个对象给我的数据库 (Postgresql) 带来了问题,因为当用户只发出一个请求时,与数据库的连接永远。所以我切换到DriverManagerDataSource。它工作得很好,每当用户调用我的 REST API 时,他都会获取所需的数据,并关闭连接,因此数据库不会溢出,以后也不会抛出 Exception

使用 DriverManagerDataSource 是一种安全且正确的方法吗? 我读过(旧)答案说,你不应该使用它,因为它不使用连接池。 我应该使用这个吗?如果没有,我应该使用什么?

谢谢。

0 个答案:

没有答案