|
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:
- 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.
- The EJB instance:
The client is holding an old EJB reference. It can be thrown away. A new
reference should be obtained.
- 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 |
|
|
|
|
|
|