weblogic连接池不释放问题解决_weblogic连接池重置(Connection reset)问题解决方案...

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:

::, Properties = user=;.>

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)

>

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:

GTEM_DS

jdbc:oracle:thin:@[URL]:[PORT]:[DB]

oracle.jdbc.OracleDriver

user

[USER]

[ENCLIPTED VALUE]

SQL SELECT 1 FROM DUAL

GTEM_DS

OnePhaseCommit

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.From the WLS admin console, select the datasource.

2.Under the connection pool tab, click on Advanced.

3.Check the "Enable Test Connections On Reserve" option.

4.Make "Login Delay" 1.

5.Make "Connection Creation Retry Frequency" 2.

6.Save the configuration.

7.Restart the Cluster.

REFERENCES

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


版权声明:本文为weixin_34999698原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。