weblogic連線池重置(Connection reset)問題解決方案

neverinit發表於2017-08-17
業務系統在高峰時期報錯,需要對weblogic的日誌進行分析,檢視問題出現的原因以及解決方案。
在weblogic的AdminServer.log中的報錯資訊如下:

  1. ####<2017-8-8 下午07時29分43秒 CST> <Warning> <JDBC> <scyy1> <AdminServer> <pool-4514-thread-165> <<anonymous>> <> <> <1502191783426> <BEA-001129> <Received exception while creating connection for pool "CAMSCORE": IO 錯誤: Connection reset.>
  2. ####<2017-8-8 下午07時29分43秒 CST> <Warning> <JDBC> <scyy1> <AdminServer> <pool-4514-thread-252> <<anonymous>> <> <> <1502191783427> <BEA-001129> <Received exception while creating connection for pool "CAMSCORE": IO 錯誤: Connection reset.>
  3. ####<2017-8-8 下午07時29分43秒 CST> <Warning> <JDBC> <scyy1> <AdminServer> <pool-4514-thread-243> <<anonymous>> <> <> <1502191783428> <BEA-001129> <Received exception while creating connection for pool "CAMSCORE": IO 錯誤: Connection reset.>
  4. ####<2017-8-8 下午07時29分43秒 CST> <Warning> <JDBC> <scyy1> <AdminServer> <pool-4514-thread-55> <<anonymous>> <> <> <1502191783428> <BEA-001129> <Received exception while creating connection for pool "CAMSCORE": IO 錯誤: Connection reset.>
  5. ####<2017-8-8 下午07時29分43秒 CST> <Info> <JDBC> <scyy1> <AdminServer> <pool-4514-thread-55> <<anonymous>> <> <> <1502191783429> <BEA-001156> <Stack trace associated with message 001129 follows:

  6. java.sql.SQLRecoverableException: IO 錯誤: Connection reset
  7.     at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:467)
  8.     at oracle.jdbc.driver.PhysicalConnection.<init>(PhysicalConnection.java:546)
  9.     at oracle.jdbc.driver.T4CConnection.<init>(T4CConnection.java:236)
  10.     at oracle.jdbc.driver.T4CDriverExtension.getConnection(T4CDriverExtension.java:32)
  11.     at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:521)
  12.     at weblogic.jdbc.common.internal.ConnectionEnvFactory.makeConnection(ConnectionEnvFactory.java:357)
  13.     at weblogic.jdbc.common.internal.ConnectionEnvFactory.createResource(ConnectionEnvFactory.java:239)
  14.     at weblogic.common.resourcepool.ResourcePoolImpl.makeResources(ResourcePoolImpl.java:1310)
  15.     at weblogic.common.resourcepool.ResourcePoolImpl.makeResources(ResourcePoolImpl.java:1227)
  16.     at weblogic.common.resourcepool.ResourcePoolImpl.reserveResourceInternal(ResourcePoolImpl.java:451)
  17.     at weblogic.common.resourcepool.ResourcePoolImpl.reserveResource(ResourcePoolImpl.java:343)
  18.     at weblogic.common.resourcepool.ResourcePoolImpl.reserveResource(ResourcePoolImpl.java:330)
  19.     at weblogic.jdbc.common.internal.ConnectionPool.reserve(ConnectionPool.java:469)
  20.     at weblogic.jdbc.common.internal.ConnectionPool.reserve(ConnectionPool.java:363)
  21.     at weblogic.jdbc.common.internal.ConnectionPoolManager.reserve(ConnectionPoolManager.java:125)
  22.     at weblogic.jdbc.common.internal.ConnectionPoolManager.reserve(ConnectionPoolManager.java:158)
  23.     at weblogic.jdbc.pool.Driver.connect(Driver.java:132)
  24.     at weblogic.jdbc.jts.Driver.getNonTxConnection(Driver.java:658)
  25.     at weblogic.jdbc.jts.Driver.connect(Driver.java:127)
  26.     at weblogic.jdbc.common.internal.RmiDataSource.getConnectionInternal(RmiDataSource.java:533)
  27.     at weblogic.jdbc.common.internal.RmiDataSource.getConnection(RmiDataSource.java:498)
  28.     at weblogic.jdbc.common.internal.RmiDataSource.getConnection(RmiDataSource.java:491)
  29.     at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:113)
  30.     at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:79)
  31.     at com.bocom.jump.bp.service.sqlmap.support.SqlSessionUtils.getSqlSession(SourceFile:116)
  32.     at com.bocom.jump.bp.service.sqlmap.impl.SqlMapImpl.a(SourceFile:56)
  33.     at com.bocom.jump.bp.service.sqlmap.impl.SqlMapImpl.a(SourceFile:67)
  34.     at com.bocom.jump.bp.service.sqlmap.impl.SqlMapImpl.update(SourceFile:167)
  35.     at com.bocom.cams.core.base.commons.BaseDao.update(BaseDao.java:37)
  36.     at com.bocom.cams.core.base.commons.PersistableDao.update(PersistableDao.java:46)
  37.     at com.bocom.cams.core.base.commons.PersistableService.modify(PersistableService.java:101)
  38.     at com.bocom.cams.core.cd.calcandclearinterest.service.InterestCalculateService.interestCalculate(InterestCalculateService.java:499)
  39.     at com.bocom.cams.core.cd.calcandclearinterest.service.InterestCalculateService$3.toProcess(InterestCalculateService.java:2241)
  40.     at com.bocom.cams.core.base.commons.support.AsynchronousProcessor.run(AsynchronousProcessor.java:65)
  41.     at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:895)
  42.     at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918)
  43.     at java.lang.Thread.run(Thread.java:662)
  44. Caused By: java.net.SocketException: Connection reset
  45.     at java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:96)
  46.     at java.net.SocketOutputStream.write(SocketOutputStream.java:136)
  47.     at oracle.net.ns.DataPacket.send(DataPacket.java:210)
  48.     at oracle.net.ns.NetOutputStream.flush(NetOutputStream.java:230)
  49.     at oracle.net.ns.NetInputStream.getNextPacket(NetInputStream.java:312)
  50.     at oracle.net.ns.NetInputStream.read(NetInputStream.java:260)
  51.     at oracle.net.ns.NetInputStream.read(NetInputStream.java:185)
  52.     at oracle.net.ns.NetInputStream.read(NetInputStream.java:102)
  53.     at oracle.jdbc.driver.T4CSocketInputStreamWrapper.readNextPacket(T4CSocketInputStreamWrapper.java:124)
  54.     at oracle.jdbc.driver.T4CSocketInputStreamWrapper.read(T4CSocketInputStreamWrapper.java:80)
  55.     at oracle.jdbc.driver.T4CMAREngine.unmarshalUB1(T4CMAREngine.java:1137)
  56.     at oracle.jdbc.driver.T4CTTIfun.receive(T4CTTIfun.java:290)
  57.     at oracle.jdbc.driver.T4CTTIfun.doRPC(T4CTTIfun.java:192)
  58.     at oracle.jdbc.driver.T4CTTIoauthenticate.doOSESSKEY(T4CTTIoauthenticate.java:404)
  59.     at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:385)
  60.     at oracle.jdbc.driver.PhysicalConnection.<init>(PhysicalConnection.java:546)
  61.     at oracle.jdbc.driver.T4CConnection.<init>(T4CConnection.java:236)
  62.     at oracle.jdbc.driver.T4CDriverExtension.getConnection(T4CDriverExtension.java:32)
  63.     at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:521)
  64.     at weblogic.jdbc.common.internal.ConnectionEnvFactory.makeConnection(ConnectionEnvFactory.java:357)
  65.     at weblogic.jdbc.common.internal.ConnectionEnvFactory.createResource(ConnectionEnvFactory.java:239)
  66.     at weblogic.common.resourcepool.ResourcePoolImpl.makeResources(ResourcePoolImpl.java:1310)
  67.     at weblogic.common.resourcepool.ResourcePoolImpl.makeResources(ResourcePoolImpl.java:1227)
  68.     at weblogic.common.resourcepool.ResourcePoolImpl.reserveResourceInternal(ResourcePoolImpl.java:451)
  69.     at weblogic.common.resourcepool.ResourcePoolImpl.reserveResource(ResourcePoolImpl.java:343)
  70.     at weblogic.common.resourcepool.ResourcePoolImpl.reserveResource(ResourcePoolImpl.java:330)
  71.     at weblogic.jdbc.common.internal.ConnectionPool.reserve(ConnectionPool.java:469)
  72.     at weblogic.jdbc.common.internal.ConnectionPool.reserve(ConnectionPool.java:363)
  73.     at weblogic.jdbc.common.internal.ConnectionPoolManager.reserve(ConnectionPoolManager.java:125)
  74.     at weblogic.jdbc.common.internal.ConnectionPoolManager.reserve(ConnectionPoolManager.java:158)
  75.     at weblogic.jdbc.pool.Driver.connect(Driver.java:132)
  76.     at weblogic.jdbc.jts.Driver.getNonTxConnection(Driver.java:658)
  77.     at weblogic.jdbc.jts.Driver.connect(Driver.java:127)
  78.     at weblogic.jdbc.common.internal.RmiDataSource.getConnectionInternal(RmiDataSource.java:533)
  79.     at weblogic.jdbc.common.internal.RmiDataSource.getConnection(RmiDataSource.java:498)
  80.     at weblogic.jdbc.common.internal.RmiDataSource.getConnection(RmiDataSource.java:491)
  81.     at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:113)
  82.     at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:79)
  83.     at com.bocom.jump.bp.service.sqlmap.support.SqlSessionUtils.getSqlSession(SourceFile:116)
  84.     at com.bocom.jump.bp.service.sqlmap.impl.SqlMapImpl.a(SourceFile:56)
  85.     at com.bocom.jump.bp.service.sqlmap.impl.SqlMapImpl.a(SourceFile:67)
  86.     at com.bocom.jump.bp.service.sqlmap.impl.SqlMapImpl.update(SourceFile:167)
  87.     at com.bocom.cams.core.base.commons.BaseDao.update(BaseDao.java:37)
  88.     at com.bocom.cams.core.base.commons.PersistableDao.update(PersistableDao.java:46)
  89.     at com.bocom.cams.core.base.commons.PersistableService.modify(PersistableService.java:101)
  90.     at com.bocom.cams.core.cd.calcandclearinterest.service.InterestCalculateService.interestCalculate(InterestCalculateService.java:499)
  91.     at com.bocom.cams.core.cd.calcandclearinterest.service.InterestCalculateService$3.toProcess(InterestCalculateService.java:2241)
  92.     at com.bocom.cams.core.base.commons.support.AsynchronousProcessor.run(AsynchronousProcessor.java:65)
  93.     at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:895)
  94.     at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918)
  95.     at java.lang.Thread.run(Thread.java:662)
  96. >
  97. ####<2017-8-8 下午07時29分43秒 CST> <Info> <JDBC> <scyy1> <AdminServer> <pool-4514-thread-165> <<anonymous>> <> <> <1502191783427> <BEA-001156> <Stack trace associated with message 001129 follows:

  98. java.sql.SQLRecoverableException: IO 錯誤: Connection reset
  99.     at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:467)
  100.     at oracle.jdbc.driver.PhysicalConnection.<init>(PhysicalConnection.java:546)
  101.     at oracle.jdbc.driver.T4CConnection.<init>(T4CConnection.java:236)
  102.     at oracle.jdbc.driver.T4CDriverExtension.getConnection(T4CDriverExtension.java:32)
  103.     at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:521)
  104.     at weblogic.jdbc.common.internal.ConnectionEnvFactory.makeConnection(ConnectionEnvFactory.java:357)
  105.     at weblogic.jdbc.common.internal.ConnectionEnvFactory.createResource(ConnectionEnvFactory.java:239)
  106.     at weblogic.common.resourcepool.ResourcePoolImpl.makeResources(ResourcePoolImpl.java:1310)
  107.     at weblogic.common.resourcepool.ResourcePoolImpl.makeResources(ResourcePoolImpl.java:1227)
  108.     at weblogic.common.resourcepool.ResourcePoolImpl.reserveResourceInternal(ResourcePoolImpl.java:451)
  109.     at weblogic.common.resourcepool.ResourcePoolImpl.reserveResource(ResourcePoolImpl.java:343)
  110.     at weblogic.common.resourcepool.ResourcePoolImpl.reserveResource(ResourcePoolImpl.java:330)
  111.     at weblogic.jdbc.common.internal.ConnectionPool.reserve(ConnectionPool.java:469)
  112.     at weblogic.jdbc.common.internal.ConnectionPool.reserve(ConnectionPool.java:363)
  113.     at weblogic.jdbc.common.internal.ConnectionPoolManager.reserve(ConnectionPoolManager.java:125)
  114.     at weblogic.jdbc.common.internal.ConnectionPoolManager.reserve(ConnectionPoolManager.java:158)
  115.     at weblogic.jdbc.pool.Driver.connect(Driver.java:132)
  116.     at weblogic.jdbc.jts.Driver.getNonTxConnection(Driver.java:658)
  117.     at weblogic.jdbc.jts.Driver.connect(Driver.java:127)
  118.     at weblogic.jdbc.common.internal.RmiDataSource.getConnectionInternal(RmiDataSource.java:533)
  119.     at weblogic.jdbc.common.internal.RmiDataSource.getConnection(RmiDataSource.java:498)
  120.     at weblogic.jdbc.common.internal.RmiDataSource.getConnection(RmiDataSource.java:491)
  121.     at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:113)
  122.     at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:79)
  123.     at com.bocom.jump.bp.service.sqlmap.support.SqlSessionUtils.getSqlSession(SourceFile:116)
  124.     at com.bocom.jump.bp.service.sqlmap.impl.SqlMapImpl.a(SourceFile:56)
  125.     at com.bocom.jump.bp.service.sqlmap.impl.SqlMapImpl.a(SourceFile:67)
  126.     at com.bocom.jump.bp.service.sqlmap.impl.SqlMapImpl.queryForList(SourceFile:108)
  127.     at com.bocom.cams.core.base.commons.BaseDao.find(BaseDao.java:60)
  128.     at com.bocom.cams.core.base.commons.PersistableDao.findByBizKeys(PersistableDao.java:76)
  129.     at com.bocom.cams.core.base.commons.PersistableService.queryByBizKeys(PersistableService.java:192)
  130.     at com.bocom.cams.core.base.commons.PersistableService.getByBizKeysFromDataBase(PersistableService.java:321)
  131.     at com.bocom.cams.core.base.commons.PersistableService.getByBizKeys(PersistableService.java:223)
  132.     at com.bocom.cams.core.cd.calcandclearinterest.service.InterestCalculateService.calcTypeOfFixedtimeProductInts(InterestCalculateService.java:1388)
  133.     at com.bocom.cams.core.cd.calcandclearinterest.service.InterestCalculateService.interestCalculate(InterestCalculateService.java:371)
  134.     at com.bocom.cams.core.cd.calcandclearinterest.service.InterestCalculateService$3.toProcess(InterestCalculateService.java:2241)
  135.     at com.bocom.cams.core.base.commons.support.AsynchronousProcessor.run(AsynchronousProcessor.java:65)
  136.     at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:895)
  137.     at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918)
  138.     at java.lang.Thread.run(Thread.java:662)
  139. Caused By: java.net.SocketException: Connection reset
  140.     at java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:96)
  141.     at java.net.SocketOutputStream.write(SocketOutputStream.java:136)
  142.     at oracle.net.ns.DataPacket.send(DataPacket.java:210)
  143.     at oracle.net.ns.NetOutputStream.flush(NetOutputStream.java:230)
  144.     at oracle.net.ns.NetInputStream.getNextPacket(NetInputStream.java:312)
  145.     at oracle.net.ns.NetInputStream.read(NetInputStream.java:260)
  146.     at oracle.net.ns.NetInputStream.read(NetInputStream.java:185)
  147.     at oracle.net.ns.NetInputStream.read(NetInputStream.java:102)
  148.     at oracle.jdbc.driver.T4CSocketInputStreamWrapper.readNextPacket(T4CSocketInputStreamWrapper.java:124)
  149.     at oracle.jdbc.driver.T4CSocketInputStreamWrapper.read(T4CSocketInputStreamWrapper.java:80)
  150.     at oracle.jdbc.driver.T4CMAREngine.unmarshalUB1(T4CMAREngine.java:1137)
  151.     at oracle.jdbc.driver.T4CTTIfun.receive(T4CTTIfun.java:290)
  152.     at oracle.jdbc.driver.T4CTTIfun.doRPC(T4CTTIfun.java:192)
  153.     at oracle.jdbc.driver.T4CTTIoauthenticate.doOSESSKEY(T4CTTIoauthenticate.java:404)
  154.     at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:385)
  155.     at oracle.jdbc.driver.PhysicalConnection.<init>(PhysicalConnection.java:546)
  156.     at oracle.jdbc.driver.T4CConnection.<init>(T4CConnection.java:236)
  157.     at oracle.jdbc.driver.T4CDriverExtension.getConnection(T4CDriverExtension.java:32)
  158.     at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:521)
  159.     at weblogic.jdbc.common.internal.ConnectionEnvFactory.makeConnection(ConnectionEnvFactory.java:357)
  160.     at weblogic.jdbc.common.internal.ConnectionEnvFactory.createResource(ConnectionEnvFactory.java:239)
  161.     at weblogic.common.resourcepool.ResourcePoolImpl.makeResources(ResourcePoolImpl.java:1310)
  162.     at weblogic.common.resourcepool.ResourcePoolImpl.makeResources(ResourcePoolImpl.java:1227)
  163.     at weblogic.common.resourcepool.ResourcePoolImpl.reserveResourceInternal(ResourcePoolImpl.java:451)
  164.     at weblogic.common.resourcepool.ResourcePoolImpl.reserveResource(ResourcePoolImpl.java:343)
  165.     at weblogic.common.resourcepool.ResourcePoolImpl.reserveResource(ResourcePoolImpl.java:330)
  166.     at weblogic.jdbc.common.internal.ConnectionPool.reserve(ConnectionPool.java:469)
  167.     at weblogic.jdbc.common.internal.ConnectionPool.reserve(ConnectionPool.java:363)
  168.     at weblogic.jdbc.common.internal.ConnectionPoolManager.reserve(ConnectionPoolManager.java:125)
  169.     at weblogic.jdbc.common.internal.ConnectionPoolManager.reserve(ConnectionPoolManager.java:158)
  170.     at weblogic.jdbc.pool.Driver.connect(Driver.java:132)
  171.     at weblogic.jdbc.jts.Driver.getNonTxConnection(Driver.java:658)
  172.     at weblogic.jdbc.jts.Driver.connect(Driver.java:127)
  173.     at weblogic.jdbc.common.internal.RmiDataSource.getConnectionInternal(RmiDataSource.java:533)
  174.     at weblogic.jdbc.common.internal.RmiDataSource.getConnection(RmiDataSource.java:498)
  175.     at weblogic.jdbc.common.internal.RmiDataSource.getConnection(RmiDataSource.java:491)
  176.     at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:113)
  177.     at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:79)
  178.     at com.bocom.jump.bp.service.sqlmap.support.SqlSessionUtils.getSqlSession(SourceFile:116)
  179.     at com.bocom.jump.bp.service.sqlmap.impl.SqlMapImpl.a(SourceFile:56)
  180.     at com.bocom.jump.bp.service.sqlmap.impl.SqlMapImpl.a(SourceFile:67)
  181.     at com.bocom.jump.bp.service.sqlmap.impl.SqlMapImpl.queryForList(SourceFile:108)
  182.     at com.bocom.cams.core.base.commons.BaseDao.find(BaseDao.java:60)
  183.     at com.bocom.cams.core.base.commons.PersistableDao.findByBizKeys(PersistableDao.java:76)
  184.     at com.bocom.cams.core.base.commons.PersistableService.queryByBizKeys(PersistableService.java:192)
  185.     at com.bocom.cams.core.base.commons.PersistableService.getByBizKeysFromDataBase(PersistableService.java:321)
  186.     at com.bocom.cams.core.base.commons.PersistableService.getByBizKeys(PersistableService.java:223)
  187.     at com.bocom.cams.core.cd.calcandclearinterest.service.InterestCalculateService.calcTypeOfFixedtimeProductInts(InterestCalculateService.java:1388)
  188.     at com.bocom.cams.core.cd.calcandclearinterest.service.InterestCalculateService.interestCalculate(InterestCalculateService.java:371)
  189.     at com.bocom.cams.core.cd.calcandclearinterest.service.InterestCalculateService$3.toProcess(InterestCalculateService.java:2241)
  190.     at com.bocom.cams.core.base.commons.support.AsynchronousProcessor.run(AsynchronousProcessor.java:65)
  191.     at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:895)
  192.     at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918)
  193.     at java.lang.Thread.run(Thread.java:662)
  194. > 
在應用日誌中的報錯資訊如下:

  1. 19:31:43.633 [hostName:scyy1] [pool-4514-thread-243] [2017080900000020] ERROR 報錯資訊如下:weblogic.jdbc.extensions.ConnectionDeadSQLException: weblogic.common.resourcepool.ResourceDeadException: 0:weblogic.common.ResourceException: Could not create pool connection. The DBMS driver exception was: IO 錯誤: Connection reset
  2. weblogic.jdbc.common.internal.JDBCUtil.wrapAndThrowResourceException(JDBCUtil.java:250)
  3. weblogic.jdbc.pool.Driver.connect(Driver.java:142)
  4. weblogic.jdbc.jts.Driver.getNonTxConnection(Driver.java:658)
  5. weblogic.jdbc.jts.Driver.connect(Driver.java:127)
  6. weblogic.jdbc.common.internal.RmiDataSource.getConnectionInternal(RmiDataSource.java:533)
  7. weblogic.jdbc.common.internal.RmiDataSource.getConnection(RmiDataSource.java:498)
  8. weblogic.jdbc.common.internal.RmiDataSource.getConnection(RmiDataSource.java:491)
  9. org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:113)
  10. org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:79)
  11. com.bocom.jump.bp.service.sqlmap.support.SqlSessionUtils.getSqlSession(SourceFile:116)
  12. com.bocom.jump.bp.service.sqlmap.impl.SqlMapImpl.a(SourceFile:56)
  13. com.bocom.jump.bp.service.sqlmap.impl.SqlMapImpl.a(SourceFile:67)
  14. com.bocom.jump.bp.service.sqlmap.impl.SqlMapImpl.queryForList(SourceFile:108)
  15. com.bocom.cams.core.base.commons.BaseDao.find(BaseDao.java:60)
  16. com.bocom.cams.core.base.commons.PersistableDao.findByBizKeys(PersistableDao.java:76)
  17. com.bocom.cams.core.base.commons.PersistableService.queryByBizKeys(PersistableService.java:192)
  18. com.bocom.cams.core.base.commons.PersistableService.getByBizKeysFromDataBase(PersistableService.java:321)
  19. com.bocom.cams.core.base.commons.PersistableService.getByBizKeys(PersistableService.java:223)
  20. com.bocom.cams.core.cd.calcandclearinterest.service.InterestCalculateService.interestCalculate(InterestCalculateService.java:248)
  21. com.bocom.cams.core.cd.calcandclearinterest.service.InterestCalculateService$3.toProcess(InterestCalculateService.java:2241)
  22. com.bocom.cams.core.base.commons.support.AsynchronousProcessor.run(AsynchronousProcessor.java:65)
  23. java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:895)
  24. java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918)
  25. java.lang.Thread.run(Thread.java:662)

  26. 19:31:43.633 [hostName:scyy1] [pool-4514-thread-260] [2017080900000020] ERROR 報錯資訊如下:weblogic.jdbc.extensions.PoolDisabledSQLException: weblogic.common.resourcepool.ResourceDisabledException: Pool CAMSCORE is Suspended, cannot allocate resources to applications..
  27. weblogic.jdbc.common.internal.JDBCUtil.wrapAndThrowResourceException(JDBCUtil.java:251)
  28. weblogic.jdbc.pool.Driver.connect(Driver.java:142)
  29. weblogic.jdbc.jts.Driver.getNonTxConnection(Driver.java:658)
  30. weblogic.jdbc.jts.Driver.connect(Driver.java:127)
  31. weblogic.jdbc.common.internal.RmiDataSource.getConnectionInternal(RmiDataSource.java:533)
  32. weblogic.jdbc.common.internal.RmiDataSource.getConnection(RmiDataSource.java:498)
  33. weblogic.jdbc.common.internal.RmiDataSource.getConnection(RmiDataSource.java:491)
  34. org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:113)
  35. org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:79)
  36. com.bocom.jump.bp.service.sqlmap.support.SqlSessionUtils.getSqlSession(SourceFile:116)
  37. com.bocom.jump.bp.service.sqlmap.impl.SqlMapImpl.a(SourceFile:56)
  38. com.bocom.jump.bp.service.sqlmap.impl.SqlMapImpl.a(SourceFile:67)
  39. com.bocom.jump.bp.service.sqlmap.impl.SqlMapImpl.update(SourceFile:167)
  40. com.bocom.cams.core.base.commons.BaseDao.update(BaseDao.java:37)
  41. com.bocom.cams.core.base.commons.PersistableDao.update(PersistableDao.java:46)
  42. com.bocom.cams.core.base.commons.PersistableService.modify(PersistableService.java:101)
  43. com.bocom.cams.core.cd.calcandclearinterest.service.InterestCalculateService.interestCalculate(InterestCalculateService.java:499)
  44. com.bocom.cams.core.cd.calcandclearinterest.service.InterestCalculateService$3.toProcess(InterestCalculateService.java:2241)
  45. com.bocom.cams.core.base.commons.support.AsynchronousProcessor.run(AsynchronousProcessor.java:65)
  46. java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:895)
  47. java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918)
  48. java.lang.Thread.run(Thread.java:662)

  49. 19:31:43.633 [hostName:scyy1] [pool-4514-thread-233] [2017080900000020] ERROR 報錯資訊如下:weblogic.jdbc.extensions.PoolDisabledSQLException: weblogic.common.resourcepool.ResourceDisabledException: Pool CAMSCORE is Suspended, cannot allocate resources to applications..
  50. weblogic.jdbc.common.internal.JDBCUtil.wrapAndThrowResourceException(JDBCUtil.java:251)
  51. weblogic.jdbc.pool.Driver.connect(Driver.java:142)
  52. weblogic.jdbc.jts.Driver.getNonTxConnection(Driver.java:658)
  53. weblogic.jdbc.jts.Driver.connect(Driver.java:127)
  54. weblogic.jdbc.common.internal.RmiDataSource.getConnectionInternal(RmiDataSource.java:533)
  55. weblogic.jdbc.common.internal.RmiDataSource.getConnection(RmiDataSource.java:498)
  56. weblogic.jdbc.common.internal.RmiDataSource.getConnection(RmiDataSource.java:491)
  57. org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:113)
  58. org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:79)
  59. com.bocom.jump.bp.service.sqlmap.support.SqlSessionUtils.getSqlSession(SourceFile:116)
  60. com.bocom.jump.bp.service.sqlmap.impl.SqlMapImpl.a(SourceFile:56)
  61. com.bocom.jump.bp.service.sqlmap.impl.SqlMapImpl.a(SourceFile:67)
  62. com.bocom.jump.bp.service.sqlmap.impl.SqlMapImpl.insert(SourceFile:155)
  63. com.bocom.cams.core.base.commons.BaseDao.save(BaseDao.java:26)
  64. com.bocom.cams.core.base.commons.PersistableDao.insert(PersistableDao.java:36)
  65. com.bocom.cams.core.base.commons.PersistableService.add(PersistableService.java:73)
  66. com.bocom.cams.core.cd.calcandclearinterest.service.InterestCalculateService.interestCalculate(InterestCalculateService.java:521)
  67. com.bocom.cams.core.cd.calcandclearinterest.service.InterestCalculateService$3.toProcess(InterestCalculateService.java:2241)
  68. com.bocom.cams.core.base.commons.support.AsynchronousProcessor.run(AsynchronousProcessor.java:65)
  69. java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:895)
  70. java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918)
  71. java.lang.Thread.run(Thread.java:662)

  72. 19:31:43.634 [hostName:scyy1] [pool-4514-thread-281] [2017080900000020] ERROR 報錯資訊如下:weblogic.jdbc.extensions.PoolDisabledSQLException: weblogic.common.resourcepool.ResourceDisabledException: Pool CAMSCORE is Suspended, cannot allocate resources to applications..
  73. weblogic.jdbc.common.internal.JDBCUtil.wrapAndThrowResourceException(JDBCUtil.java:251)
  74. weblogic.jdbc.pool.Driver.connect(Driver.java:142)
  75. weblogic.jdbc.jts.Driver.getNonTxConnection(Driver.java:658)
  76. weblogic.jdbc.jts.Driver.connect(Driver.java:127)
  77. weblogic.jdbc.common.internal.RmiDataSource.getConnectionInternal(RmiDataSource.java:533)
  78. weblogic.jdbc.common.internal.RmiDataSource.getConnection(RmiDataSource.java:498)
  79. weblogic.jdbc.common.internal.RmiDataSource.getConnection(RmiDataSource.java:491)
  80. org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:113)
  81. org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:79)
  82. com.bocom.jump.bp.service.sqlmap.support.SqlSessionUtils.getSqlSession(SourceFile:116)
  83. com.bocom.jump.bp.service.sqlmap.impl.SqlMapImpl.a(SourceFile:56)
  84. com.bocom.jump.bp.service.sqlmap.impl.SqlMapImpl.a(SourceFile:67)
  85. com.bocom.jump.bp.service.sqlmap.impl.SqlMapImpl.update(SourceFile:167)
  86. com.bocom.cams.core.base.commons.BaseDao.update(BaseDao.java:37)
  87. com.bocom.cams.core.base.commons.PersistableDao.update(PersistableDao.java:46)
  88. com.bocom.cams.core.base.commons.PersistableService.modify(PersistableService.java:101)
  89. com.bocom.cams.core.cd.calcandclearinterest.service.InterestCalculateService.interestCalculate(InterestCalculateService.java:499)
  90. com.bocom.cams.core.cd.calcandclearinterest.service.InterestCalculateService$3.toProcess(InterestCalculateService.java:2241)
  91. com.bocom.cams.core.base.commons.support.AsynchronousProcessor.run(AsynchronousProcessor.java:65)
  92. java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:895)
  93. java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918)
  94. java.lang.Thread.run(Thread.java:662)

MOS上輸入關鍵字“Connection reset”,找到相關的文章:

單擊此項可新增到收藏夾 Connection Reset When Creating a JDBC Pool Connection (文件 ID 1532894.1)


In this Document



APPLIES TO:

Oracle WebLogic Server - Version 10.3.6 to 10.3.6
Information in this document applies to any platform.

SYMPTOMS

Once a new connection pool is configured and testing is also successful, the managed server is restarted but it comes up in Admin State and shows JDBC error.

In the standard error, the following sequence of exceptions are shown:

<Feb 22, 2013 11:24:32 AM CST> <Notice> <WebLogicServer> <BEA-000365> <Server state changed to STARTING.> 
<Feb 22, 2013 11:24:32 AM CST> <Info> <SAFService> <BEA-281003> <The SAF service has been initialized.> 
<Feb 22, 2013 11:24:32 AM CST> <Info> <SAFService> <BEA-281002> <The SAF service has been started.> 
<Feb 22, 2013 11:24:32 AM CST> <Info> <WseeCore> <BEA-220502> <The Wsee Service is starting> 
<Feb 22, 2013 11:24:32 AM CST> <Info> <Deployer> <BEA-149209> <The Slave Deployer is resuming.> 
<Feb 22, 2013 11:24:33 AM CST> <Info> <JDBC> <BEA-001177> <Creating data source connection pool named GTEM_DS, URL = jdbc:oracle:thin:@<URL>:<PORT>:<DB>, Properties = user=<USER>;.> 
<Feb 22, 2013 11:24:35 AM CST> <Info> <Common> <BEA-000626> <Free resources in pool "GTEM_DS" will be tested every "120" seconds.> 
<Feb 22, 2013 11:25:06 AM CST> <Info> <JDBC> <BEA-001508> <Destroying data source connection pool GTEM_DS.> 
<Feb 22, 2013 11:25:06 AM CST> <Info> <JDBC> <BEA-001155> <The following exception has occurred: 

weblogic.common.ResourceException: Unknown Data Source GTEM_DS
at weblogic.jdbc.common.internal.ConnectionPoolManager.shutdownConnectionPool(ConnectionPoolManager.java:630)
at weblogic.jdbc.common.internal.ConnectionPoolManager.shutdownAndDestroyPool(ConnectionPoolManager.java:602)
at weblogic.jdbc.common.internal.ConnectionPoolManager.shutdownAndDestroyPool(ConnectionPoolManager.java:533)
at weblogic.jdbc.module.JDBCModule.prepare(JDBCModule.java:330)
at weblogic.application.internal.flow.ModuleListenerInvoker.prepare(ModuleListenerInvoker.java:100)
at weblogic.application.internal.flow.ModuleStateDriver$1.next(ModuleStateDriver.java:173)
at weblogic.application.internal.flow.ModuleStateDriver$1.next(ModuleStateDriver.java:167)
at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:35)
at weblogic.application.internal.flow.ModuleStateDriver.prepare(ModuleStateDriver.java:38)
at weblogic.application.internal.flow.DeploymentCallbackFlow.prepare(DeploymentCallbackFlow.java:139)
at weblogic.application.internal.flow.DeploymentCallbackFlow.prepare(DeploymentCallbackFlow.java:57)
at weblogic.application.internal.BaseDeployment$1.next(BaseDeployment.java:707)
at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:35)
at weblogic.application.internal.BaseDeployment.prepare(BaseDeployment.java:237)
at weblogic.application.internal.SingleModuleDeployment.prepare(SingleModuleDeployment.java:48)
at weblogic.application.internal.DeploymentStateChecker.prepare(DeploymentStateChecker.java:158)
at weblogic.deploy.internal.targetserver.AppContainerInvoker.prepare(AppContainerInvoker.java:60)
at weblogic.deploy.internal.targetserver.SystemResourceDeployment.prepare(SystemResourceDeployment.java:66)
at weblogic.management.deploy.internal.DeploymentAdapter$1.doPrepare(DeploymentAdapter.java:40)
at weblogic.management.deploy.internal.DeploymentAdapter.prepare(DeploymentAdapter.java:191)
at weblogic.management.deploy.internal.AppTransition$1.transitionApp(AppTransition.java:22)
at weblogic.management.deploy.internal.ConfiguredDeployments.transitionApps(ConfiguredDeployments.java:240)
at weblogic.management.deploy.internal.ConfiguredDeployments.prepare(ConfiguredDeployments.java:166)
at weblogic.management.deploy.internal.ConfiguredDeployments.deploy(ConfiguredDeployments.java:122)
at weblogic.management.deploy.internal.DeploymentServerService.resume(DeploymentServerService.java:187)
at weblogic.management.deploy.internal.DeploymentServerService.start(DeploymentServerService.java:95)
at weblogic.t3.srvr.SubsystemRequest.run(SubsystemRequest.java:64)
at weblogic.work.SelfTuningWorkManagerImpl$WorkAdapterImpl.run(SelfTuningWorkManagerImpl.java:545)
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:256)
at weblogic.work.ExecuteThread.run(ExecuteThread.java:221)

<Feb 22, 2013 11:25:06 AM CST> <Error> <Deployer> <BEA-149205> <Failed to initialize the application "GTEM_DS" due to error weblogic.application.ModuleException: 
weblogic.application.ModuleException: 
at weblogic.jdbc.module.JDBCModule.prepare(JDBCModule.java:337)
at weblogic.application.internal.flow.ModuleListenerInvoker.prepare(ModuleListenerInvoker.java:100)
at weblogic.application.internal.flow.ModuleStateDriver$1.next(ModuleStateDriver.java:173)
at weblogic.application.internal.flow.ModuleStateDriver$1.next(ModuleStateDriver.java:167)
at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:35)
at weblogic.application.internal.flow.ModuleStateDriver.prepare(ModuleStateDriver.java:38)
at weblogic.application.internal.flow.DeploymentCallbackFlow.prepare(DeploymentCallbackFlow.java:139)
at weblogic.application.internal.flow.DeploymentCallbackFlow.prepare(DeploymentCallbackFlow.java:57)
at weblogic.application.internal.BaseDeployment$1.next(BaseDeployment.java:707)
at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:35)
at weblogic.application.internal.BaseDeployment.prepare(BaseDeployment.java:237)
at weblogic.application.internal.SingleModuleDeployment.prepare(SingleModuleDeployment.java:48)
at weblogic.application.internal.DeploymentStateChecker.prepare(DeploymentStateChecker.java:158)
at weblogic.deploy.internal.targetserver.AppContainerInvoker.prepare(AppContainerInvoker.java:60)
at weblogic.deploy.internal.targetserver.SystemResourceDeployment.prepare(SystemResourceDeployment.java:66)
at weblogic.management.deploy.internal.DeploymentAdapter$1.doPrepare(DeploymentAdapter.java:40)
at weblogic.management.deploy.internal.DeploymentAdapter.prepare(DeploymentAdapter.java:191)
at weblogic.management.deploy.internal.AppTransition$1.transitionApp(AppTransition.java:22)
at weblogic.management.deploy.internal.ConfiguredDeployments.transitionApps(ConfiguredDeployments.java:240)
at weblogic.management.deploy.internal.ConfiguredDeployments.prepare(ConfiguredDeployments.java:166)
at weblogic.management.deploy.internal.ConfiguredDeployments.deploy(ConfiguredDeployments.java:122)
at weblogic.management.deploy.internal.DeploymentServerService.resume(DeploymentServerService.java:187)
at weblogic.management.deploy.internal.DeploymentServerService.start(DeploymentServerService.java:95)
at weblogic.t3.srvr.SubsystemRequest.run(SubsystemRequest.java:64)
at weblogic.work.SelfTuningWorkManagerImpl$WorkAdapterImpl.run(SelfTuningWorkManagerImpl.java:545)
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:256)
at weblogic.work.ExecuteThread.run(ExecuteThread.java:221)
Caused By: weblogic.common.ResourceException: weblogic.common.ResourceException: Could not create pool connection. The DBMS driver exception was: IO Error: Connection reset
at weblogic.jdbc.common.internal.ConnectionEnvFactory.createResource(ConnectionEnvFactory.java:288)
at weblogic.common.resourcepool.ResourcePoolImpl.makeResources(ResourcePoolImpl.java:1310)
at weblogic.common.resourcepool.ResourcePoolImpl.makeResources(ResourcePoolImpl.java:1227)
at weblogic.common.resourcepool.ResourcePoolImpl.start(ResourcePoolImpl.java:250)
at weblogic.jdbc.common.internal.ConnectionPool.doStart(ConnectionPool.java:1397)
at weblogic.jdbc.common.internal.ConnectionPool.start(ConnectionPool.java:187)
at weblogic.jdbc.common.internal.ConnectionPoolManager.createAndStartPool(ConnectionPoolManager.java:521)
at weblogic.jdbc.common.internal.ConnectionPoolManager.createAndStartPool(ConnectionPoolManager.java:442)
at weblogic.jdbc.module.JDBCModule.prepare(JDBCModule.java:288)
at weblogic.application.internal.flow.ModuleListenerInvoker.prepare(ModuleListenerInvoker.java:100)
at weblogic.application.internal.flow.ModuleStateDriver$1.next(ModuleStateDriver.java:173)
at weblogic.application.internal.flow.ModuleStateDriver$1.next(ModuleStateDriver.java:167)
at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:35)
at weblogic.application.internal.flow.ModuleStateDriver.prepare(ModuleStateDriver.java:38)
at weblogic.application.internal.flow.DeploymentCallbackFlow.prepare(DeploymentCallbackFlow.java:139)
at weblogic.application.internal.flow.DeploymentCallbackFlow.prepare(DeploymentCallbackFlow.java:57)
at weblogic.application.internal.BaseDeployment$1.next(BaseDeployment.java:707)
at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:35)
at weblogic.application.internal.BaseDeployment.prepare(BaseDeployment.java:237)
at weblogic.application.internal.SingleModuleDeployment.prepare(SingleModuleDeployment.java:48)
at weblogic.application.internal.DeploymentStateChecker.prepare(DeploymentStateChecker.java:158)
at weblogic.deploy.internal.targetserver.AppContainerInvoker.prepare(AppContainerInvoker.java:60)
at weblogic.deploy.internal.targetserver.SystemResourceDeployment.prepare(SystemResourceDeployment.java:66)
at weblogic.management.deploy.internal.DeploymentAdapter$1.doPrepare(DeploymentAdapter.java:40)
at weblogic.management.deploy.internal.DeploymentAdapter.prepare(DeploymentAdapter.java:191)
at weblogic.management.deploy.internal.AppTransition$1.transitionApp(AppTransition.java:22)
at weblogic.management.deploy.internal.ConfiguredDeployments.transitionApps(ConfiguredDeployments.java:240)
at weblogic.management.deploy.internal.ConfiguredDeployments.prepare(ConfiguredDeployments.java:166)
at weblogic.management.deploy.internal.ConfiguredDeployments.deploy(ConfiguredDeployments.java:122)
at weblogic.management.deploy.internal.DeploymentServerService.resume(DeploymentServerService.java:187)
at weblogic.management.deploy.internal.DeploymentServerService.start(DeploymentServerService.java:95)
at weblogic.t3.srvr.SubsystemRequest.run(SubsystemRequest.java:64)
at weblogic.work.SelfTuningWorkManagerImpl$WorkAdapterImpl.run(SelfTuningWorkManagerImpl.java:545)
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:256)
at weblogic.work.ExecuteThread.run(ExecuteThread.java:221)
>

CHANGES

It is a brand new DS. Default DS configuration level was applied:

<?xml version='1.0' encoding='UTF-8'?>
<jdbc-data-source xmlns="http://xmlns.oracle.com/weblogic/jdbc-data-source" xmlns:sec="http://xmlns.oracle.com/weblogic/security" xmlns:wls="http://xmlns.oracle.com/weblogic/security/wls" xmlns:xsi="" xsi:schemaLocation="http://xmlns.oracle.com/weblogic/jdbc-data-source http://xmlns.oracle.com/weblogic/jdbc-data-source/1.2/jdbc-data-source.xsd">
  <name>GTEM_DS</name>
  <jdbc-driver-params>
    <url>jdbc:oracle:thin:@[URL]:[PORT]:[DB]</url>
    <driver-name>oracle.jdbc.OracleDriver</driver-name>
    <properties>
      <property>
        <name>user</name>
        <value>[USER]</value>
      </property>
    </properties>
    <password-encrypted>[ENCLIPTED VALUE]</password-encrypted>
  </jdbc-driver-params>
  <jdbc-connection-pool-params>
    <test-table-name>SQL SELECT 1 FROM DUAL</test-table-name>
  </jdbc-connection-pool-params>
  <jdbc-data-source-params>
    <jndi-name>GTEM_DS</jndi-name>
    <global-transactions-protocol>OnePhaseCommit</global-transactions-protocol>
  </jdbc-data-source-params>
</jdbc-data-source>

CAUSE

The issue is caused by the database not being able to respond to a large number of connections at the same time and hence throwing a connection reset.

SOLUTION

Please follow these steps to resolve the issue:

  1.       1.From the WLS admin console, select the datasource.
  2.       2.Under the connection pool tab, click on Advanced.
  3.       3.Check the "Enable Test Connections On Reserve" option.
  4.       4.Make "Login Delay" 1.
  5.       5.Make "Connection Creation Retry Frequency" 2.
  6.       6.Save the configuration.
  7.       7.Restart the Cluster.

REFERENCES

NOTE:1280894.1 - WebLogic Server (WLS) Support Pattern: Investigating JDBC Issues



該問題是由資料庫無法同時響應大量連線引起的,因此引起連線重置。這時,建議按照文中給出的SOLUTION來解決Connection reset的問題。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31394774/viewspace-2143743/,如需轉載,請註明出處,否則將追究法律責任。

相關文章