2.9.3 Behavior of the naming service error detection functionality

This section describes the behavior of the naming service error detection functionality.

Organization of this subsection
(1) Lock timing
(2) Behavior when the naming service is locked
(3) Timing for unlocking the naming service

(1) Lock timing

During naming service error detection, the status of the naming service is checked at the following times and if there is no response, the naming service is locked:

  1. When there is no response until the lapse of the sweep interval
  2. When there is no response from the naming service when the following operations are first executed after the entire cache area is cleared with the RMI/IIOP communication error as the trigger, and if the cache does not exist:
    • When InitialContext is generated
    • When lookup is executed

The following table describes the behavior of the operations for the naming service after the entire cache is cleared.

Table 2-37 Behavior of the operations for the naming service after the entire cache is cleared

Operations in the naming management functionalityWhen a round-robin search is usedWhen a round-robin search is not used
When InitialContext is generatedWhen InitialContext is generated for the first time after the EJB client process starts, if there is no response to the confirmation of the naming service operations, the naming service is locked.
The naming service is not locked in cases other than the first time.
The viability is checked and if the response from the naming service cannot be detected, the naming service is locked.
When lookup is executedStatus is checked only for the naming service that attempts to communicate when lookup is issued.
If a response cannot be detected, the naming service is locked. For example, if a round-robin search is being executed in three naming services, the failed naming service is locked at the third lookup at the most.
The viability is checked and if the response from the naming service cannot be detected, the naming service is locked.

In the naming service error detection functionality, when the naming service is locked, the KDJE47111-I message is output to the log at the same time. After the message is output, all the communication with the running naming service functionality is controlled and javax.naming.NamingException is thrown.


(2) Behavior when the naming service is locked

This point describes the behavior of the naming service when the EJB client generates InitialContext or performs lookup for a naming service locked by the naming service error detection functionality.

The following table describes the operations for the locked naming service separately for the cases when the round-robin search functionality is used and when the functionality is not used.

Table 2-38 Operations for a locked naming service

Operations from the EJB clientWhen a round-robin search is usedWhen a round-robin search is not used
When InitialContext is generatedInitialContext for the round robin is returned.Communication is always controlled.
javax.naming.NamingException is returned to the EJB client.
When lookup is executedThe object is searched from another naming service registered in the round robin group and returned.Communication is always controlled.
javax.naming.NamingException is returned to the EJB client.

(3) Timing for unlocking the naming service

This point describes the unlock timing. The status of the naming service is checked at the following time and when a response can be detected from the naming service, the lock is released.

When the naming service is unlocked, the KDJE47110-I message is output to the log at the same time. After the message is output, the communication for the running naming service is not controlled.