Oracle Datasource返回null连接

Jav*_*Guy 7 java database oracle connection datasource

当没有连接请求更多时,oracle数据源返回空连接.我启用了implict缓存.只有在设置了ConnectionWaitTimeout时,oracle规范才会返回null.我没有为缓存属性中的ConnectionWaitTimeout设置值.

这就是规范所说的

ConnectionWaitTimeout

指定请求连接且已有MaxLimit连接处于活动状态时的缓存行为.如果ConnectionWaitTimeout大于零,则每个连接请求等待指定的秒数或直到连接返回到缓存.如果在超时之前没有连接返回缓存,则连接请求返回null.

默认值:0(无超时)

Datasource可以返回空连接的其他可能性是什么?

Ben*_*enM 2

我认为默认值可能会有所不同,具体取决于您使用的 Oracle 版本。有些信息是矛盾的,例如,Oracles“优化连接池行为”暗示默认值为 3 秒(11g?),而其他来源则声明它是问题中提到的零。

我建议将其明确设置为零,并查看该行为是否仍然表现出来。