问题:
生产环境实时打标超时;
分析原因:
“实时打标java服务中,只创建数据库Connection,没有关闭数据库Connection,导致数据库连接池耗尽,无法再次获取数据库链接”;
解决:
实时打标java服务中,增加 ”关闭数据库Connection“;
实时打标存储过程中,结尾处增加"关闭dblink命令,及时释放占用的dblink资源"
----
命令:dbms_session.close_database_link(CONN_MY_LINK);
或者 execute immediate 'alter session close database link dbl_to_pridev'---使用这个命令;
相关文档:
如果开启"removeAbandoned",那么连接在被认为泄露时可能被池回收. 这个机制在(getNumIdle() < 2)
and (getNumActive() > getMaxActive() - 3)时被触发.
举例当maxActive=20, 活动连接为18,空闲连接为1时可以触发"removeAbandoned".
但是活动连接只有在没有被使用的时间超过"removeAbandonedTimeout"时才被删除,默认300秒.
在resultset中游历不被计算为被使用.
and (getNumActive() > getMaxActive() - 3)时被触发.
举例当maxActive=20, 活动连接为18,空闲连接为1时可以触发"removeAbandoned".
但是活动连接只有在没有被使用的时间超过"removeAbandonedTimeout"时才被删除,默认300秒.
在resultset中游历不被计算为被使用.