Java 使用jdbcTemplate具有多个数据源的Spring启动应用程序的并发查询执行问题

Java 使用jdbcTemplate具有多个数据源的Spring启动应用程序的并发查询执行问题,java,spring,postgresql,spring-boot,generics,Java,Spring,Postgresql,Spring Boot,Generics,因此,我的应用程序有一个GenericRepository类,该类带有一个JdbcTemplate,该类使用单个数据源初始化,并有多个通用方法(find(),add(),update(),delete()等)。我在DAO中扩展这个类,并使用这些通用方法执行sql查询(我将查询和查询参数(如果有的话)从DAO传递给这些方法)。现在是第二个数据源。现在,每当需要查询另一个数据源时,我必须用另一个数据源初始化我的JdbcTemplate对象,然后在执行查询时重新初始化主数据源,我不再需要该数据源。但在

因此,我的应用程序有一个
GenericRepository
类,该类带有一个
JdbcTemplate
,该类使用单个数据源初始化,并有多个通用方法(
find()
add()
update()
delete()
等)。我在DAO中扩展这个类,并使用这些通用方法执行sql查询(我将查询和查询参数(如果有的话)从DAO传递给这些方法)。现在是第二个数据源。现在,每当需要查询另一个数据源时,我必须用另一个数据源初始化我的
JdbcTemplate
对象,然后在执行查询时重新初始化主数据源,我不再需要该数据源。但在并发过程中会出现问题。比方说,当用户1想要在第二个数据源中查询并初始化它时,现在在执行用户1的查询之前,用户2开始执行他的查询,该查询需要连接主数据源,但jdbcTemplate在第二个连接中初始化,用户2的查询将不起作用或抛出一些错误。
如何在不改变我的GenericRepository中泛型方法的任何实现的情况下解决这个问题?

欢迎使用SO。你能更详细地描述一下你的问题吗?例如,通过添加描述问题的代码、命令或屏幕截图。还请查看帮助中心,尤其是和。谢谢。请在你的描述中使用段落和短句。目前它是相当不可读的。