The following general guidelines apply when implementing transactions in RMI applications for WebLogic Server:
WebLogic Server allows for flat transactions only. Transactions cannot be nested.
Use standard programming techniques to optimize transaction processing. For example, properly demarcate transaction boundaries and complete transactions quickly.
For RMI applications, callback objects are not recommended for use in transactions because they are not subject to WebLogic Server administration. For more information about callback objects, see Programming WebLogic RMI.
In RMI applications, an RMI client can initiate a transaction, but all transaction processing must occur on server objects or remote objects hosted by WebLogic Server. Remote objects hosted on a client JVM cannot participate in the transaction processing.
As a work-around, you can suspend the transaction before making a call to a remote object on a client JVM, and then resume the transaction after the remote operation returns.