PQ73742: Generic JMS provider JMSConnection.close() closes XA enlisted JMSSession.

 A fix is available

4.0.7: WebSphere Application Server Version 4.0 Fix Pack 7



APAR status
Closed as program error.

Error description
When using the Generic JMS provider and a method creates a JMS
Session which gets XA enslited and then it closes the
JMSConnection. The JMSConnection.close() gets flowed to the JMS
provider which closes the XA enlisted JMSSession. During
transaction completion the transaction manager tries to flow
commit/end flows to the XA session resource but get an
IlegalStateException because it has been closed.
Local fix Problem summary
****************************************************************
* USERS AFFECTED: WebSphere Application Server users of the    *
*                 Generic JMS Provider using XA, whose         *
*                 applications close the JMSConnection before  *
*                 transaction completion.                      *
*                 Also, users of MQ/Generic JMS providers      *
*                 whose code explicitly closes the             *
*                 JMSConnection, but not the Session and       *
*                 exhibit a memory leak.                       *
****************************************************************
* PROBLEM DESCRIPTION: Issuing a close on a Generic provider   *
*                      JMSConnection before transaction        *
*                      completion, causes any enlisted         *
*                      XASessions to be closed prematurely.    *
*                      Also, not issuing an explicit Session   *
*                      close causes a memory leak of the       *
*                      XASession.                              *
****************************************************************
* RECOMMENDATION:                                              *
****************************************************************
Generic provider JMSConnection.close(), prematurely closes the
XASession.
XASession is leaked if not closed explicitly.
Problem conclusion
The Generic JMSConnection closure is now deferred to
transaction completion if it has an XASession enlisted
with the transaction.
The transaction completion JMSConnection/JMSSession
closure will now always ensure the XASession is closed
if it was deferred.
Temporary fix Comments
APAR information
APAR number PQ73742
Reported component name WEBSPHERE AE NT
Reported component ID 5630A2201
Reported release 400
Status CLOSED PER
PE NoPE
HIPER NoHIPER
Submitted date 2003-05-01
Closed date 2003-05-15
Last modified date 2003-05-15

APAR is sysrouted FROM one or more of the following:

APAR is sysrouted TO one or more of the following:

Modules/Macros
JMSConne ction JMSSessi on    

SRLS

Fix information

Applicable component levels
R400 PSY    UP


Document Information


Product categories: Software > Application Servers > Distributed Application & Web Servers > WebSphere Application Server > General
Operating system(s):
Software version: 400
Software edition:
Reference #: PQ73742
IBM Group: Software Group
Modified date: May 15, 2003