我有一个Java Web应用程序,它使用Apache DBCP连接到Oracle DB。使用JNDI完成连接。在我的应用程序中,我需要对数据库运行查询,处理结果,然后保存更新。
问题是,无论我为db连接参数设置了什么属性(maxWait,minEvictableIdleTimeMillis,testOnBorrow等等 - 我已尝试使用不同的值),我总是在aprox之后收到“连接已关闭”错误。 2.5分钟结果集I进程很大,执行时间超过2.5分钟,但即使我执行分页查询,经常命中数据库,我仍然会得到相同的错误。
另一个奇怪的是,无论我为连接池大小设置什么值(使用maxActive,maxIdle,initialSize),如果我记录最大物理打开连接,则值为1。
你知道为什么会这样吗?这可能是由DB /网络侧的设置引起的吗?
答案 0 :(得分:0)
由于多个问题,可能会发生这种情况。
1)您所做的所有更改都在客户端。你应该看看其他领域。 2)检查oracle /服务器端设置,例如sqlnet.ora和数据库级别允许的最大连接数/会话数和进程数。 3)检查是否有关闭会话/连接的软/硬防火墙设置。这可能是您“关闭连接”的原因。
由于 拉胡