APAR status
Closed as program error.
Error description
When using a Websphere managed connection (i.e. one that is
created from a factory defined in the application server's
namespace), a list is kept of all the temporary destinations
created on that connection. When the managed connection is
closed, the application server attempts to delete all of these
temporary destinations as per section 4.4.3 of the Java Message
Service Specification Version 1.1.
However, it is entirely possible that the application using the
managed connection has already deleted the temporary
destination, using the TemporaryQueue.delete() or the
TemporaryTopic.delete() methodes.
In this situation, the applicaton server will attempt to delete
a temporary destination that no longer exists, resulting in the
J2CA0056I error mentioned above. The managed connection will
also be marked as stale, and will not be returned to the
connection pool.
This can occur with servlets running inside of WAS v5.x or 6.x.
You will see the following error in the server's SystemOut.log
file :
J2CA0056I: The Connection Manager received a fatal connection
error from the Resource Adaptor for resource <Resource Name>.
The exception which was received is javax.jms.JMSException:
MQJMS3001: temporary queue already closed or deleted
Local fix
To resolve the problem, the logic that deletes temporary
destinations when the connection is being closed has been
changed.
If an excepton occurs deleting a destionation, the
application server now checks to see if the reason for the
exception is because the queue or topic has already been
deleted. If it is trying to delete something that has already
been
deleted, the exception is ignored. If a different error has
occured however, the connection will be marked as stale and the
J2CA0056I mesage output to the SystemOut.log files as before.
Problem summary
****************************************************************
* USERS AFFECTED: This problem affects customers who use *
* the Java Message Service (JMS) *
* functionality provided with WebSphere *
* Application Server Version 5 and *
* Version 6. *
****************************************************************
* PROBLEM DESCRIPTION: When a servlet running inside of *
* WebSphere Application Server Version *
* 5 or 6 creates and deletes *
* temporary destinations (either queues *
* or topics), closing the underlying JMS *
* connection after all of the temporary *
* destinations have been deleted *
* results in the following error *
* appearing in the application server's *
* SystemOut.log file: *
* *
* *
* J2CA0056I: The Connection Manager *
* received a fatal connection error *
* from the Resource Adaptor for *
* resource <Resource Name>. The *
* exception which was received is *
* javax.jms.JMSException: *
* MQJMS3001: temporary queue already *
* closed or deleted *
****************************************************************
* RECOMMENDATION: *
****************************************************************
When using a WebSphere managed connection (i.e. one that is
created from a factory defined in the application server's
namespace), a list is kept of all the temporary destinations
created on that connection. When the managed connection is
closed, the application server attempts to delete all of
these temporary destinations as per section 4.4.3 of the
Java Message Service Specification Version 1.1.
However, it is entirely possible that the application using
the managed connection has already deleted the temporary
destination, using the TemporaryQueue.delete() or the
TemporaryTopic.delete() methods.
In this situation, the application server will attempt to
delete a temporary destination that no longer exists,
resulting in the J2CA0056I error. The managed connection
will also be marked as stale, and will not be returned to
the connection pool.
Problem conclusion
The logic that deletes temporary destinations when the
connection is being closed has been changed. If an exception
occurs deleting a destination, the application server now
checks to see if the reason for the exception is because the
queue or topic has already been deleted. If it is trying to
delete something that has already been deleted, the exception
is ignored. If a different error has occurred, however, the
connection will be maked as stale and the J2CA0056I message
output to the SystemOut.log file as before.
The fix for this APAR is currently targeted for inclusion in
Cumulative Fix 16 for WebSphere Application Server Version
5.0.2, Cumulative Fix 9 for WebSphere Application Server
Version 5.1.1 and Fix Pack 9 for WebSphere Application Server
Version 6.0.2. Please refer to the Recommended Updates page
for delivery dates:
http://www-1.ibm.com/support/
docview.wss?rs=180&context=SSEQTP&uid=swg27004980
Temporary fix Comments
APAR information |
APAR number |
PK16432 |
Reported component name |
WAS BASE 5.0 |
Reported component ID |
5630A3600 |
Reported release |
10A |
Status |
CLOSED PER |
PE |
NoPE |
HIPER |
NoHIPER |
Special Attention |
NoSpecatt |
Submitted date |
2005-12-12 |
Closed date |
2006-02-03 |
Last modified date |
2006-04-03 |
APAR is sysrouted FROM one or more of the following:
APAR is sysrouted TO one or more of the following:
Modules/Macros
Publications Referenced
|
Fix information |
Fixed component name |
WAS BASE 5.0 |
Fixed component ID |
5630A3600 |
Applicable component levels |
R003 PSY |
UP |
R00A PSY |
UP |
R00H PSY |
UP |
R00I PSY |
UP |
R00P PSY |
UP |
R00S PSY |
UP |
R00W PSY |
UP |
R103 PSY |
UP |
R10A PSY |
UP |
R10H PSY |
UP |
R10I PSY |
UP |
R10P PSY |
UP |
R10S PSY |
UP |
R10W PSY |
UP |
|