重新措辞的问题:我应该避免分类的实例执行 java.sql.Connection 之间不同的纹?

有帮助吗?

解决方案

如果JDBC驱动程序是规范兼容的,那么在技术上是,对象是线程安全的,但是你应该避免线程之间共享连接,因为连接上的活动将意味着只有一个线程就可以做任何事在一个时间。

您应该使用连接池(如阿帕奇百科全书DBCP ),以确保每个线程得到其自己的连接。

其他提示

java.sql.Connection中是一个接口。所以,这一切都取决于驾驶员的实现,但一般而言,您应该避免分享不同的线程和使用连接池之间的连接相同。还它也建议在游泳池比工作线程的数量更高的连接数。

这是而是一个旧线,但对于那些正在寻找一个回答关于Microsoft SQL服务器,这里是答案:

SQLServerConnection是无线的安全,但是多发言创建一个单一的连接,可以处理同时并发的螺纹。

SQLServerConnection实现JDBC连接到SQL服务器。

从所有上述情况,你可以分享的发言,但不是连接,并且在情况需要一种连接在每个线程,可能使用一线的游泳池。

阅读更多 在这里,

JDBC和多线程文档:

  

由于所有Oracle JDBC API方法是同步的,如果两个线程试图同时使用连接对象,则一个将被迫等待直到另一个完成其使用。

因此,它可能是在甲骨文的情况下安全的,但并发访问将从瓶颈困扰。

我们有ArrayOutOfBoundsException在WebSphere语句缓存的是pooleddatasource,我们不得不禁用缓存。

我们有这样挡住本身的处理。

所有这一切,因为当前访问的连接,以便通过真实的生活实践的结论,是你必须这样做。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top