org.apache.openjpa.ee
Interface ManagedRuntime

All Known Implementing Classes:
AbstractManagedRuntime, AutomaticManagedRuntime, InvocationManagedRuntime, JNDIManagedRuntime, RegistryManagedRuntime, SunOneManagedRuntime, WASManagedRuntime, WASRegistryManagedRuntime, WLSManagedRuntime

public interface ManagedRuntime

This interface must be implemented by concrete plugins to application servers in order to integrate the OpenJPA runtime in a managed environment.

Author:
Abe White

Method Summary
 void doNonTransactionalWork(Runnable runnable)
           Do a unit of work which will execute outside of the current managed transaction.
 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 setRollbackOnly(Throwable cause)
          Sets the rollback only flag on the current transaction.
 

Method Detail

getTransactionManager

TransactionManager getTransactionManager()
                                         throws Exception
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.

Throws:
Exception

setRollbackOnly

void setRollbackOnly(Throwable cause)
                     throws Exception
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.

Parameters:
cause - the Throwable that caused the transaction to be marked for rollback, or null of none is known
Throws:
Exception

getRollbackCause

Throwable getRollbackCause()
                           throws Exception
Returns the Throwable that caused the current transaction to be marked for rollback, provided that any exists.

Returns:
the Throwable cause, or null if none
Throws:
Exception

getTransactionKey

Object getTransactionKey()
                         throws Exception,
                                SystemException
Returns a transaction key that can be used to associate transactions and Brokers.

Returns:
the transaction key
Throws:
Exception
SystemException

doNonTransactionalWork

void doNonTransactionalWork(Runnable runnable)
                            throws NotSupportedException

Do a unit of work which will execute outside of the current managed transaction.

If the runnable object encounters an exception it should be wrapped in a RuntimeException and thrown back to the caller

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 transaction can not be suspended.


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