Transaction timeout

Make sure you have configured a transaction timeout if your application uses EJB bean-managed transactions, or if you use components of other types that keep transactions open across method calls. The transaction timeout setting specifies the maximum duration of an EAServer transaction. The default configuration allows transactions to remain open indefinitely. A finite timeout allows transactions to be closed when the client crashes or hangs during an open transaction.

You can set the timeout for components on the Resources tab in the EAServer Manager Component Properties dialog box. If you are using jagtool, the property name is com.sybase.jaguar.component.tx_timeout.

You can set a default timeout at the server level by setting server property com.sybase.jaguar.server.tx_timeout (set on the Advanced tab in the Server Properties dialog box). EAServer determines the transaction timeout period as follows:

For both the component and server setting, the timeout period is configured in seconds, with 0 indicating no timeout. The default for a new server is 0. When specifying timeouts, Sybase recommends a resolution of 5 seconds. Network transport time is included in the measured timeout period. You may need to configure a larger timeout period if clients connect over slow networks.

EAServer checks for timeouts after each method returns. Your component will not be deactivated in the middle of an invocation because of a timeout. When a transaction times out, the next method invocation in the client-side ORB throws the CORBA::TRANSACTION_ROLLEDBACK system exception.