PQ59756: WAS AE AND WAS AES DIFFER DURING SERVER SHUTDOWN | |||||||||||||||||||||||||||||||||||||||
![]() |
|||||||||||||||||||||||||||||||||||||||
![]() APAR status Closed as program error. Error description This apar belongs to the SM team and they are already working to provide the fix for this problem. Under WebSphere Standard Edition (all 4.x versions) the serverStopping() method is called prior to the Server actually stopping -- that is all services and containers are still running including the EJB container, the Servlet container, and Database connections. These components are all fully active and available, and have not started their shutdown process. Nor will they until the Custom Service returns from the serverStopping() method. This allows the Custom Application logic to receive notification that the server has been requested to shutdown, and then to perform any clean up needed before the server starts it's shutdown. When the servers shutdown is complete, the Custom Service is notified through the serverStopping() method. Under WebSphere Advanced Edition (running stand alone or in a Cluster, versions GA, 4.01, and 4.02) the serverStopping() method appears to be being called after parts of the WebSphere Server are shutdown. This prevents the Application Logic in the Custom Service from doing the needed cleanup - this case contacting a Stateless EJB which then interacts with an Entity Bean to clean up information stored in the database.Local fix Problem summary **************************************************************** * USERS AFFECTED: WebSphere Application Server AE 4.0.2 users. * **************************************************************** * PROBLEM DESCRIPTION: WAS AE and WAS AEs differ during * * shutdown custom service. * **************************************************************** * RECOMMENDATION: * **************************************************************** Under WebSphere Standard Edition (all 4.x versions), the serverStopping() method is called prior to the Server actually stopping -- that is all services and containers are still running including the EJB container, the Servlet container, and Database connections. These components are all fully active and available, and have not started their shutdown process. Nor will they until the Custom Service returns from the serverStopping() method. This allows the Custom Application logic to receive notification that the server has been requested to shutdown, and then to perform any clean up needed before the server starts it's shutdown. When the servers shutdown is complete, the Custom Service is notified through the serverStopping() method. Under WebSphere Advanced Edition (running stand alone or in a Cluster, versions GA, 4.01, and 4.02) the serverStopping() method appears to be being called after parts of the WebSphere Server are shutdown. This prevents the Application Logic in the Custom Service from doing the needed cleanup - in this case contacting a Stateless EJB which then interacts with an Entity Bean to clean up information stored in the database.Problem conclusion Moved the server quiesce() function from the SM/ActiveEJBServer.java to the Runtime/ManagedServer.java to ensure the serverStopping() is called prior to the WebSphere server shutdown -- that is the container and other ORB connections are active until the custom service is shutdown. This allows the Custom Application logic to perform any clean up needed before the server starts its shutdown. . The code is available on next ptf 4.0x and the cumulative efix is on wasdoc0\apars\pq59756.Temporary fix Comments
APAR is sysrouted FROM one or more of the following: APAR is sysrouted TO one or more of the following: Modules/Macros
SRLS
|
Document Information |
Product categories: Software > Application Servers >
Distributed Application & Web Servers > WebSphere Application
Server > General
Operating system(s):
Software version: 400
Software edition:
Reference #: PQ59756
IBM Group: Software Group
Modified date: Apr 30, 2002
(C) Copyright IBM Corporation 2000, 2006. All Rights Reserved.