关于spring配置BasicDataSource数据源问题记录

spring访问weblogic配置jndi数据源
环境:
db2服务器:aix,db2 8.1
应用服务器:rhel3,weblogic8.1,jdk1.4,db2客户端
数据库是通过app别名方式访问

1、问题描述
前不久,我们系统出现了点毛病,客户那边突然断电,后来应用服务器和db2数据库服务器重新启动,发现客户端依然无法连接应用服务器,问题解决后,将服务器端日志拿下来分析发现,weblogic启动之后,由于一个线程一直在刷库,导致一直报db2连接错误,大约半个多小时后,数据库连接恢复正常,日志中没有再出现db2连接错误,大概又过了10分钟,weblogic出现内存不足报警,随后便大量抛出OutOfMemoryError ,end of stacktrace 异常,整个应用瘫掉。
2、模拟重现
根据日志反应的情况,我们模拟出一致情况。如果在weblogic完全启动之后,db2才启动(或者说才能够正常连接),会导致weblogic出现OutOfMemoryError,从OutOfMemoryError控制台内存监控中可以看到,内存占用成台阶式上升的,之后到了顶部就可以看到控制台weblogic输出报警。后经过bea工程师的相关诊断等,推荐我们应用程序通过JNDI获取应用weblogic提供的数据源。在此之前,我们系统确实使用spring配置的org.apache.commons.dbcp.BasicDataSource数据源。

   导致此种情况的不知道是否由BasicDataSource所引起,在网上找了N久,都未曾找到一个说法,暂且记录下来。。。

你可能感兴趣的:(spring,应用服务器,weblogic,db2,AIX)