PQ82698: Interruptible WPC transactions using JMS exhaust connections
 Downloadable files
 
Abstract
Users of WSIF that use Web Services via JMS and asynchronous send/receive, if WSIFOperation used to send and process the response is serialized between sending and processing the r
 
Download Description
IBM Websphere Application Server Enterprise Process Choreographer processes that are interruptible that use JMS activities extensively experience a problem in which the Connection pools get short on connections after a short period of time. The following is a scenario that demonstrates this problem:
(WPC stands for WebSphere Process Choreographer)
Each invocation of a JMS backend via WSIF is separated by WPC into 2 transactions. In the first transaction, a WSIF service, port and operation is created and then the executeRequestResponseAsync() method is invoked on this operation. Then the WSIFOperation is serialized into the database. The operation has a reference to the port as datamember, therefore the port is also serialized and stored in the database. Then the port is closed, and the first transaction ends.
In the second transaction, WPC's MDB receives the reply message from the backend. It identifies (using the correlation ID of this message) the associated WSIFOperation in the database and deserializes this WSIFOperation. Since the operation containes a reference to the port, the associated port is also deserialized. WPC then calls the processAsyncResponse() function on this operation, which under the covers opens a JMS connection through the port, although the message has already been received. The opening of a new connection not only wastes connection resources, it is also a very expensive operation in terms of performance and there is no real need for this.

Suggested solution: WSIF has to refrain from opening a JMS connection in the WSIFOperation.processAsyncResponse() function.

Summary of end-user symptoms:
WebSphere Process Choreographer processing stops with java
exceptions because there are no more free connections
available. The following messages can appear:
FreePool E J2CA0045E: Connection not available while invoking method queueRequest for resource JMS$BPECF. ConnectionMan E J2CA0020E: The Connection Pool Manager could not allocate a Managed Connection: com.ibm.websphere.ce.j2c.ConnectionWaitTimeoutException: Connection not available, Timed out waiting.
This problem may also cause WTRN0075W: The transaction log file is full. It may also cause a
com.ibm.ejs.jts.tranLog.tranLogFullException to be logged in the ffdc files.

WSIF creates JMS Connections when a WSIF Operation is deserialized and then used to process an asynchronous JMS response.
 
Prerequisites
Please download the UpdateInstaller below to install this fix.
 
URL LANGUAGE SIZE(Bytes)
UpdateInstaller US English 7000000
 
 
Installation instructions
Please review the readme.txt for detailed installation instructions.
 
URL LANGUAGE SIZE(Bytes)
Readme US English 2450
 
Download package
What is DD?
DOWNLOAD RELEASE DATE LANGUAGE SIZE(Bytes) Download Options
PQ82698 2/1/2004 US English 500178 FTP DD
 
Technical support
1-800-IBM-SERV (U.S. Only)
 
Cross Reference information
Segment Product Component Platform Version Edition
Application Servers WebSphere Application Server Enterprise WebServices AIX, HP-UX, Linux, Multi-Platform, Solaris, Windows 5.0.2 Edition Independent, Enterprise
Application Servers Runtimes for Java Technology Java SDK
Problems (APARs) fixed
PQ82698
 
 


Document Information


Product categories: Software > Application Servers > Distributed Application & Web Servers > WebSphere Application Server > Web Services (for example: SOAP or UDDI or WSGW or WSIF)
Operating system(s): Windows
Software version: 5.0.2
Software edition:
Reference #: 4006334
IBM Group: Software Group
Modified date: Feb 2, 2004