TRANSACTION_ROLLEDBACK exception during 'create()' on a remote EJB

Technote (FAQ)
Problem
An EJB™ client is able to successfully communicate with the EJB on a remote application server until the server is stopped and restarted. After the restart, the EJB client is successful in JNDI™ lookup and getting the home interface of the remote EJB, but a TRANSACTION_ROLLEDBACK exception is issued when it tries to call the create() method on the home interface of the EJB.
Solution
Set CORBA server listening ports for the Application Server hosting the remote EJB.

Details
com.ibm.CORBA.serverListenPort=port_number

[0] The port number on which the server listens for incoming requests from clients. For example, this enables the server to support a static firewall scenario, in which the firewall enables use of a set of secure ports. If you leave this property to default to 0 (zero), the server is automatically assigned a number for its listening port.

By default, WebSphere® Application Server uses a dynamic port allocation scheme. Each time a server starts up, it uses new ports to make its objects or servants available to the public.

In the case of a failure, although the server has recycled and updated its old new information (for example: new ports) locally, the client has no idea of the updated information on the server, and still caches and uses old information (for example: old ports). After setting CORBA's listener port on the server side, you are close to making the server static.
Related information
Runtime properties for CORBA clients and servers












Document Information

Product categories: Software, Application Servers, Distributed Application & Web Servers, WebSphere Application Server, EJB Container
Operating system(s): Multi-Platform
Software version: 3.5, 4.0, 5.0, 5.1, 6.0
Software edition: Edition Independent
Reference #: 1178414
IBM Group: Software Group
Modified date: 2004-09-01