Problem Summary:
The Database connections are not being released by the adapter even when the service has ended. All the connection are shown as busy connections although the service threads running are only 1. From the operating system process state (ps -eaf|grep oracle) we observed that all the 50 connections are being used. The webMethods service that uses those connections is called via HTTPS (We are using LoadRunner to call HTTPS service. Only 10 request/minutes. In fact we tried with single request). And the service ends properly without any errors. And from webMethods web interface we can see that there is only 1 service thread running. But still the database connection remains active.
The same service is running on a different machine with identical configuration and there is no such problem there.
The adapter is configured as “NO_TRANSACTION” , we also tried to set it as “LOCAL_TRANSACTION” and modified the service to use explicit transaction. But then we get “Transaction is Active” error in the error log.
I have searched thoroughly on advantage forums/knowledge base , but did not find anything. On 18th May goethals posted this message which is related. http://advantage.webmethods.com/cgi-bin/advantage/main.jsp?w=0&targChanId;d=-536880993&tid=161061;18322
Environment:
Product webMethods Integration Server
Version 6.0.1
Updates IS_6-0-1_SP2_Fix86
IS_6-0-1_SP2_Fix73
IS_6-0-1_SP2
IS_6-0-1_SP2_Fix118
Build Number 425
JDBC Adapter:
Description JDBC Adapter
Adapter Version 6.0.2
Vendor Name webMethods
Java Version:
Java Version 1.3.1 (46.0)
Java Vendor IBM Corporation
Java Home /usr/java130/jre
Oracle Version:
Oracle 8i (8.1.7)
OS version:
AIX 5.1
Connection Pool Settings:
Transaction Type NO_TRANSACTION
DataSource Class oracle.jdbc.pool.OracleDataSource
serverName localhost
user xxxx
password ******
databaseName xxxx
portNumber 1521
networkProtocol
Other Properties driverType=thin
Connection Management Properties
Enable Connection Pooling true
Minimum Pool Size 1
Maximum Pool Size 50
Pool Increment Size 1
Block Timeout (msec) 30000
Expire Timeout (msec) 1000
Following exception appears in the Integration Server Error log:
(MemData:exId=117.4012,exBundle=com.wm.pkg.art.i18n.resources.AdapterRuntimeResourceBundle,exError=117,exReason=4012,exDfltMsg=null,exWrapped=com.wm.pkg.art.error.DetailedException: [ART.118.5053] Adapter Runtime (Connection): Unable to get a connection to resource sabbLogging.dbAccess.adapter:eBankAdapter.
The pool doesn’t have a connection available for the request.,exParmcnt=1,exParm=sabbLogging.dbAccess.adapter:eBankAdapter,date=Sun Jul 11 22:05:30 AST 2004,sessionId=SEJEL00001,sessionName=173.1.205.62,sessionId=96zjM9PcC328cpExO2S276vMdsdMU=555596,serviceCallStack=[Ljava.lang.String;@e79ef96,reason=[ART.118.5053] Adapter Runtime (Connection): Unable to get a connection to resource sabbLogging.dbAccess.adapter:eBankAdapter.
The pool doesn’t have a connection available for the request.,exceptionClass=com.wm.pkg.art.error.DetailedException,stack=com.wm.pkg.art.error.DetailedException: [ART.118.5053] Adapter Runtime (Connection): Unable to get a connection to resource sabbLogging.dbAccess.adapter:eBankAdapter.
The pool doesn’t have a connection available for the request.
at com.wm.pkg.art.ns.ConnectionResource.createConnection(ConnectionResource.java:187)
at com.wm.pkg.art.transaction.ConnectionState.getConnection(ConnectionState.java:153)
at com.wm.pkg.art.ns.AdapterServiceNode.invokeService(AdapterServiceNode.java:533)
at com.wm.pkg.art.ns.ARTNSService.baseInvoke(ARTNSService.java:47)
at com.wm.app.b2b.server.ServiceManager.invoke(ServiceManager.java(Compiled Code))
at com.wm.app.b2b.server.BaseService.invoke(BaseService.java(Compiled Code))
at com.wm.lang.flow.FlowInvoke.invoke(FlowInvoke.java(Compiled Code))
at com.wm.lang.flow.FlowState.invokeNode(FlowState.java(Compiled Code))
at com.wm.lang.flow.FlowState.step(FlowState.java(Compiled Code))
at com.wm.lang.flow.FlowState.invoke(FlowState.java(Compiled Code))
at com.wm.app.b2b.server.FlowSvcImpl.baseInvoke(FlowSvcImpl.java(Compiled Code))
at com.wm.app.b2b.server.ServiceManager.invoke(ServiceManage
5951990b2edd9de3fdcf4f7704 NULL 5951990b2edd9de3fdcf4f7704
2004-07-11 22:05:30 sabbLogging.dbAccess.adapter:eBankAdapter [ART.118.5053] Adapter Runtime (Connection): Unable to get a connection to resource sabbLogging.dbAccess.adapter:eBankAdapter. The pool doesn’t have a connection available for the request.