Release JDBC connection immediately after use

We have a situation where a flow which potentially takes a long time to run starts by looking up data from a db and then calles a webservice which can take a while to come back. In this situation we have observed that the connection pool associated with the db in question has a busy connection until the flow finishes.
Is there a way in wm to explicitly release the connection after its use? I have made some tests and the only solution I have found so far is to use localTinvoke / joinT and executing the db lookup in a thread which seems to free up the DB connection as soon as the thread finishes exectuion.

Any other alternatives?

The answer to your question is NO[using flow service]. You can overcome the connection pool waiting by tweaking the connection pool setting, Minimum Pool Size.



Yes it is possible. Invoke your ‘db call’ between ‘startTransaction’ & ‘commitTransaction’ services which will release the pool acquired from the connection pool immediately.


Try to change these 2 values in JDBC connection
Block Timeout (msec)
Expire Timeout (msec

Block Timeout
Specifies the number of milliseconds that the Integration Server will wait to obtain a connection with the database before it times out and returns an error.

Expire Timeout
Specifies the number of milliseconds that an inactive connection can remain in the pool before it is closed and removed from the pool.