A technique for providing a transaction management subsystem for an enterprise computing environment in which multiple concurrent and/or nested transactions may access the same Enterprise JavaBeans (EJBs) simultaneously. The transaction management subsystem provides a view for each transaction which includes an independent version of an EJB's business logic and its instance data. When an application or application user has made modifications to an EJB version and requests to commit the modifications, a determination is first made as to whether committing the modifications will result in an unacceptable data conflict with other versions of the same EJB. If no unacceptable data conflict will occur, and after resolution of those conflicts that can be resolved, the modifications are committed. The management subsystem also supports nested transactions, where each subtransaction may have an independent view of an EJB. Subtransactions may commit or roll back independently. Changes made by a transaction are represented using a tree structure that is internally managed by the application.
展开▼