单个应用程序的两个不同数据库框架可以共享同一个连接对象吗

时间:2014-12-12 13:47:43

标签: java database multithreading jdbc ibatis

我有一个应用程序,其中a.jar正在使用jdbc框架,而b.jar正在使用ibatis框架进行数据库连接,a.jar上的数据库操作需要10分钟才能执行,因为它有大行,所以可以b.jar上的数据库操作还需要时间吗?

根据我的知识,两者都会有不同的连接对象,但有时我的意思是非常间歇性这个问题,在b.jar上执行查询将导致等待,因为a.jar中的大量查询执行导致整个jvm挂起。

所以我的问题是:两个框架都使用相同的连接对象,因为哪些线程挂起?请帮助我,我们在生产中遇到这些问题。

1 个答案:

答案 0 :(得分:2)

他们可能会共享一个connection pool(这很安全,因为每个应用程序都有自己的实例)。如果您从" a"运行长查询然后来自" b"可能会挂起,直到来自" a"完成后,它取决于数据库中事务isolation level的设置(同样,当您共享数据库时 - 不是连接 - 您从一个应用程序执行的操作可以从另一个应用程序中获取资源;这似乎是已经发生了。)