问题描述:
java.net.SocketException:打开端口 60,028 上服务器 /172.17.138.41 的套接字时出错,消息为:Too many open files。 ERRORCODE=-4499, SQLSTATE=08001
问题定位:
1. 在AIX命令行输入'netstat -an|grep 60028|wc -l', 发现数据库连接数达到连接池最大限制
2. 进入weblogic控制台,打开左侧菜单,配置连接池监控:
[Services] -> [JDBC] -> [Data Sources] -> [JDBC Data Source-0]
3. 打开标签项[Configration]下的[Diagnostics],选中以下配置项:
Profile Connection Usage
Profile Connection Reservation Wait
Profile Connection Leak
Profile Statement Usage
3. 保存weblogic配置生效,查看weblogic的domain日志[domain/servers/AdminServer/logs/AdminServer.log]发现:
####<2012-5-30 上午06时56分35秒 CST> <Warning> <JDBC> <ppcsonl_svc> <AdminServer> <[ACTIVE] ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel>> <
> <> <1338332195484> <BEA-001153> <Forcibly releasing inactive connection "weblogic.jdbc.wrapper.PoolConnection_com_ibm_db2_jcc_t4_b@a2531" back into the connection pool "JDBC_CIA
BKEDB", currently reserved by: java.lang.Exception
at weblogic.jdbc.common.internal.ConnectionEnv.setup(ConnectionEnv.java:308)
at weblogic.common.resourcepool.ResourcePoolImpl.reserveResource(ResourcePoolImpl.java:314)
at weblogic.common.resourcepool.ResourcePoolImpl.reserveResource(ResourcePoolImpl.java:292)
at weblogic.jdbc.common.internal.ConnectionPool.reserve(ConnectionPool.java:425)
at weblogic.jdbc.common.internal.ConnectionPool.reserve(ConnectionPool.java:316)
at weblogic.jdbc.common.internal.ConnectionPoolManager.reserve(ConnectionPoolManager.java:93)
at weblogic.jdbc.common.internal.ConnectionPoolManager.reserve(ConnectionPoolManager.java:106)
at weblogic.jdbc.pool.Driver.connect(Driver.java:149)
at weblogic.jdbc.jts.Driver.getNonTxConnection(Driver.java:642)
at weblogic.jdbc.jts.Driver.connect(Driver.java:124)
at weblogic.jdbc.common.internal.RmiDataSource.getConnection(RmiDataSource.java:338)
at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:111)
at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:77)
at cia.broker.common.jdbc.DBAccessor.updateTblPara02(DBAccessor.java:929)
at cia.broker.quartz.ccb.ctrl.CCBBatchCollectProcCtrl.execute(CCBBatchCollectProcCtrl.java:156)
at sun.reflect.GeneratedMethodAccessor199.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37)
at java.lang.reflect.Method.invoke(Method.java:599)
3. 检查domain日志中的红色部分代码,发现数据库连接未释放,修改代码后问题解决
分享到:
相关推荐
AIX关于Weblogic的报错_Too_many_open_files_的处理
weblogic连接池配置说明, weblogic8.1连接池配置及简单优化
weblogic连接池配置数据库断掉重连的问题
实时获取weblogic连接池使用情况;下载之后修改JmxWeblogicMonitor类中port、hostname、userName、passWord属性值(对应自己实际值);有注释很简单,不懂留言!
资料为本人整理的weblogic配置应用和配置连接池的方法,供大家参考!
weblogic配置sql数据连接池
基于Weblogic连接池获取SQL语句的实现.pdf
weblogic数据源连接池的创建步骤,很快很好很方便
在WebLogic中建立数据库连接池与数据源及利用JBuilder进行测试
WebLogic_11g配置数据库连接池,里面有自己写的java代码,可以测试配置WebLogic是否成功
WebLogic 11g配置数据库连接池
Weblogic 10.3 配置Oracle连接池 准备工作: 1.打开安装好Oracle数据库,并开启监听程序. 2.启动 Weblogic Server(WLS) 3.打开控制台:通过浏览器访问 http://192.168.1.99:7001/console/ 输入管理员用户名和密码,...
java应用程序JNDI方式使用weblogic连接池的方法.pdf
java源码:weblogic+j2ee构建音乐网站(原代码+数据库).rar
里面有截图,和文字描述,很适合初级使用者
#功能:weblogic守护进程:监控weblogic进程,当发现进程停止时调用重启脚本重启 #参数:进程唯一标识码,例如“weblogic” #依赖脚本:数据库操作脚本dbExecurteSQL.sh,weblogic重启脚本$PSSC_DOMAIN/startPssc.sh...
在上一篇中介绍了任何在Eclipse中使用JBoss数据库连接池技术,现在介绍一下在MyEclipse中使用Weblogic数据库连接池技术。
weblogic日志报如下错误原因及解决方法: WebLogic Server 9.2 Repeatedly Throws: java.lang.AssertionError: Registered more than one instance with the same objectName
腾讯蓝军安全通告:WebLogic远程代码执行漏洞(CVE-2020-14645) 安全建设 安全 安全众测 开发安全 网络与基础架构安全