org.apache.openjpa.ee
Class AutomaticManagedRuntime

java.lang.Object
  extended by org.apache.openjpa.ee.AbstractManagedRuntime
      extended by org.apache.openjpa.ee.AutomaticManagedRuntime
All Implemented Interfaces:
ManagedRuntime, Configurable

public class AutomaticManagedRuntime
extends AbstractManagedRuntime
implements ManagedRuntime, Configurable

Implementation of the ManagedRuntime interface that searches through a set of known JNDI locations and method invocations to locate the appropriate mechanism for obtaining a TransactionManager. Built in support is provided for the following Application Servers:

Author:
Marc Prud'hommeaux

Constructor Summary
AutomaticManagedRuntime()
           
 
Method Summary
 void doNonTransactionalWork(Runnable runnable)
          Delegate nonTransactional work to the appropriate managed runtime.
 void endConfiguration()
          Invoked upon completion of bean property configuration for this object.
 Throwable getRollbackCause()
          Returns the Throwable that caused the current transaction to be marked for rollback, provided that any exists.
 Object getTransactionKey()
          Returns a transaction key that can be used to associate transactions and Brokers.
 TransactionManager getTransactionManager()
          Return the TransactionManager for the managed runtime.
 void setConfiguration(Configuration conf)
          Invoked prior to setting bean properties.
 void setRollbackOnly(Throwable cause)
          Sets the rollback only flag on the current transaction.
 void startConfiguration()
          Invoked before bean property configuration is begun on this object.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

AutomaticManagedRuntime

public AutomaticManagedRuntime()
Method Detail

getTransactionManager

public TransactionManager getTransactionManager()
                                         throws Exception
Description copied from interface: ManagedRuntime
Return the TransactionManager for the managed runtime. This manager is used to register synchronization listeners, to map transactional PersistenceManagers to the current transaction, and possibly to enlist XA resources.

Specified by:
getTransactionManager in interface ManagedRuntime
Throws:
Exception

setConfiguration

public void setConfiguration(Configuration conf)
Description copied from interface: Configurable
Invoked prior to setting bean properties.

Specified by:
setConfiguration in interface Configurable

startConfiguration

public void startConfiguration()
Description copied from interface: Configurable
Invoked before bean property configuration is begun on this object.

Specified by:
startConfiguration in interface Configurable

endConfiguration

public void endConfiguration()
Description copied from interface: Configurable
Invoked upon completion of bean property configuration for this object.

Specified by:
endConfiguration in interface Configurable

setRollbackOnly

public void setRollbackOnly(Throwable cause)
                     throws Exception
Description copied from interface: ManagedRuntime
Sets the rollback only flag on the current transaction. If the TransactionManager is capable of tracking the cause of the rollback-only flag, it will also pass along cause information.

Specified by:
setRollbackOnly in interface ManagedRuntime
Parameters:
cause - the Throwable that caused the transaction to be marked for rollback, or null of none is known
Throws:
Exception

getRollbackCause

public Throwable getRollbackCause()
                           throws Exception
Description copied from interface: ManagedRuntime
Returns the Throwable that caused the current transaction to be marked for rollback, provided that any exists.

Specified by:
getRollbackCause in interface ManagedRuntime
Returns:
the Throwable cause, or null if none
Throws:
Exception

getTransactionKey

public Object getTransactionKey()
                         throws Exception,
                                SystemException
Description copied from class: AbstractManagedRuntime
Returns a transaction key that can be used to associate transactions and Brokers. The default implementation returns the Transaction associated with the current thread's transaction.

Specified by:
getTransactionKey in interface ManagedRuntime
Overrides:
getTransactionKey in class AbstractManagedRuntime
Returns:
the transaction key
Throws:
Exception
SystemException

doNonTransactionalWork

public void doNonTransactionalWork(Runnable runnable)
                            throws NotSupportedException
Delegate nonTransactional work to the appropriate managed runtime. If no managed runtime is found then delegate AbstractManagedRuntime.

Specified by:
doNonTransactionalWork in interface ManagedRuntime
Overrides:
doNonTransactionalWork in class AbstractManagedRuntime
Parameters:
runnable - The runnable wrapper for the work that will be done. The runnable object should be fully initialized with any state needed to execute.
Throws:
NotSupportedException - if the current transaction can not be obtained, or an error occurs when suspending or resuming the transaction.


Copyright © 2006-2008 Apache Software Foundation. All Rights Reserved.