Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/oracle/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java OracleDataSource.getConnection是线程安全的吗?_Java_Oracle_Thread Safety - Fatal编程技术网

Java OracleDataSource.getConnection是线程安全的吗?

Java OracleDataSource.getConnection是线程安全的吗?,java,oracle,thread-safety,Java,Oracle,Thread Safety,我认为找到这个答案很容易…但不是那么容易 有人知道OracleDataSource.getConnection方法是否是线程安全的吗 我不是指它返回的连接对象,而是对getConnection本身的调用 具体而言,这种方法: 文档和类没有明确说明,但是,作为一个连接池,我倾向于认为它是。这是Java并发实践中讨论的一个问题(Brian Goetz): 4.5.1。解释含糊不清的文档 许多Java技术规范对ServletContext、HttpSession或DataSource等接口的线程安全保

我认为找到这个答案很容易…但不是那么容易

有人知道OracleDataSource.getConnection方法是否是线程安全的吗

我不是指它返回的连接对象,而是对getConnection本身的调用

具体而言,这种方法:


文档和类没有明确说明,但是,作为一个连接池,我倾向于认为它是。

这是Java并发实践中讨论的一个问题(Brian Goetz):

4.5.1。解释含糊不清的文档

许多Java技术规范对ServletContext、HttpSession或DataSource等接口的线程安全保证和要求都没有提及,或者至少没有提及

…有关servlet的信息

可以对JDBCDataSource接口进行类似的推断,它表示一个可重用数据库连接池。数据源为应用程序提供服务,在应用程序上下文中没有多大意义 单线程应用程序。很难想象一个用例不涉及从多个线程调用getConnection。而且,与servlet一样,JDBC规范中的示例并不表明在使用DataSource的许多代码示例中需要任何客户端锁定。因此,即使规范没有承诺数据源是线程安全的,或者要求容器供应商提供线程安全的实现,但同样“如果 “WARE not”参数,我们别无选择,只能假设DataSource.getConnection不需要额外的客户端锁定。


请修复这个难以辨认的混乱。@EJP,我添加了引号格式。还有别的吗?了解这里到底是什么乱七八糟的东西真的很有帮助。@EJP很抱歉第一次尝试就没能解决它。我的浏览器显示文本的方式可能有问题。如果您的浏览器中仍然存在混乱,请告诉我。现在对我来说很好。