An implementation of an OJB TransactionManagerFactory which provides access to Workflow's
JTA UserTransaction.
If the TransactionManager singleton has been set via
TransactionManagerFactory.setTransactionManager(TransactionManager) then that reference is returned, otherwise the TransactionManager is pulled from Workflow's Spring core
via the SpringServiceLocator.
When accessed from outside the workflow core (i.e. embedded mode), the transaction manager
singleton MUST explicitly be set - it cannot be resolved through the SpringServiceLocator.
Note: if OJB is caused to initialize DURING Spring initialization (for example, by programmatically
obtaining the OJB PersistenceBrokerFactory to set the platform attribute of connection descriptors
from within a bean initialized by Spring), the TransactionManager singleton MUST be set beforehand,
otherwise NPE will result from attempting to traverse SpringServiceLocator as the GlobalResourceLoader
will not have been initialized yet).
This TransactionManagerFactory implementation is specified in OJB via the following
setting the OJB properties:
JTATransactionManagerClass=org.kuali.rice.database.WorkflowTransactionManagerFactory
author: Kuali Rice Team (kuali-rice@googlegroups.com) |