This section describes the timeout settings in the back-end system. Among the timeout values set in the back-end system, the value related to the transactions with EIS, such as a database, is described in 8.6.4 Setting the transaction timeout. The section here describes the timeout related to the EJB client and the EJB container.
When setting a timeout in the back-end system, amongst the timeout values of the entire system, you need to consider the points 7 and 8 shown in the following figure. These numbers correspond to Figure 8-9 or Figure 8-10.
Figure 8-12 Timeout points to be considered in the case of a back-end system
![[Figure]](figure/zu061200.gif)
- Waiting time in the client when the Enterprise Bean is invoked remotely (RMI-IIOP communication) and when the CORBA Naming Service is invoked (point 7)
If the control does not return due to an error in accessing the CORBA Naming Service or the J2EE application, the error is notified to the EJB client by the timeout.
- Waiting time at client side when the Enterprise Bean is invoked from CTM or the EJB client (point 8)
For trouble such as infinite loop or deadlock occurs in J2EE applications, the CTM resources are released. The error is reported to EJB client.
- Hint
- When invoking the Enterprise Bean from the EJB client, you can specify the timeout in usrconf.properties or in the API (method of the com.hitachi.software.ejb.ejbclient.RequestTimeoutConfig class) provided by Application Server.
- The definition of the usrconf.properties affects the entire process. The timeout value specified in the API affects only the thread or the object that invokes the business method. The API specifications override the definitions of usrconf.properties.
- Hitachi, therefore, recommends that you define the standard values that you want to set for the entire process, in the usrconf.properties and use the appropriate API to set the detailed values as per the invoked business.
If there is a timeout during the invocation of the Enterprise Bean, the javax.rmi.RemoteException (such as org.omg.CORBA.TIMEOUT) exception is notified to the EJB client-side. Consequently, the request from the client-side is cancelled. At this point, however, the process will continue if the Enterprise Bean process on the server-side has already started. As a result, the server-side processing terminates normally even in the event of a timeout.
- Waiting time for method processing in the EJB container (point 9)
The functionality of monitoring the execution time of the J2EE application is used to set this waiting time. See 8.6.7 Setting the method timeout in the J2EE application.
In addition, in point 9, you can also set the timeout value for instances of the 'method-ready' pool of the Stateless Session Bean and 'pool' of the Entity Bean that cannot be obtained within the specified time. In this case, java.rmi.RemoteException (in the case of a remote client) or javax.ejb.EJBException (in the case of a local client) is sent to the client.