EJB client recovery from an EJB server restart
 Technote (troubleshooting)
 
Problem(Abstract)
If an EJB server is restarted while the EJB client continues to run, how does the client get access to the EJB?
 
Resolving the problem
First, assume that the EJB Workload Management is not being used. There are three areas of concern:
  1. The EJB server's ORB ports:

    When the EJB server restarts, some ORB ports default to dynamic assignment. They change at each server start. Here is where those ports are in the administrative console:

    Application Servers > [EJB app] > End Points
    CSIV2_SSL_SERVERAUTH_LISTENER_ADDRESS == <unique port number>
    CSIV2_SSL_MUTUALAUTH_LISTENER_ADDRESS == <unique port number>
    SAS_SSL_SERVERAUTH_LISTENER_ADDRESS == <unique port number>
    ORB_LISTENER_ADDRESS == <unique port number>

    A value of 0 means that the port is dynamically assigned. Because the EJB client still uses the old port numbers, it cannot communicate with the EJB server. Hardcoding these port numbers allows the client to continue to communicate with the server. Make sure a unique port number within the cell is used for each.

  2. The EJB instance:

    The client is holding an old EJB reference. It can be thrown away. A new reference should be obtained.
  3. The JNDI cache:

    If you get a new EJB reference without refreshing the JNDI cache, you will still have the old reference. The instructions in the Information Center describe how to work with this cache:

    V6 JNDI Caching
    V5 JNDI Cache Settings
 
 
Cross Reference information
Segment Product Component Platform Version Edition
Application Servers Runtimes for Java Technology Java SDK
 
 


Document Information


Product categories: Software > Application Servers > Distributed Application & Web Servers > WebSphere Application Server > EJB Container
Operating system(s): Windows
Software version: 6.0
Software edition:
Reference #: 1199354
IBM Group: Software Group
Modified date: Mar 1, 2005