java.sql.Connection线程安全吗?

为了改变这个问题:我应该避免共享在不同线程之间实现java.sql.Connection的类的实例吗?

如果JDBC驱动程序符合规范,那么从技术上讲,对象是线程安全的,但是您应该避免在线程之间共享连接,因为连接上的活动意味着一次只有一个线程可以执行任何操作。

您应该使用连接池(如Apache Commons DBCP )来确保每个线程都获得自己的连接。

java.sql.Connection是一个接口。 所以,这一切都取决于驱动程序的实现,但一般来说,您应该避免在不同的线程之间共享相同的连接并使用连接池。 此外,还build议池中的连接数比工作线程的数量多。

我们在它的pooleddatasource的Websphere语句caching上有ArrayOutOfBoundsException,我们不得不禁用caching。

我们有一种阻碍自己的治疗。

所有这一切都是因为现在的连接,所以现实生活中的结论是,你不能这样做。