Package org.apache.openjpa.ee
Class OSGiManagedRuntime
java.lang.Object
org.apache.openjpa.ee.AbstractManagedRuntime
org.apache.openjpa.ee.OSGiManagedRuntime
- All Implemented Interfaces:
ManagedRuntime
Implementation of the ManagedRuntime interface that listens
for an OSGi service with interface jakarta.transaction.TransactionManager
to create a TransactionManager for controlling transactions.
The support for a transaction manager is usually activated inside an OSGi
BundleActivator implementation using registerServiceListener(BundleContext)
and deregisterServiceListener(BundleContext).
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic voidderegisterServiceListener(org.osgi.framework.BundleContext bundleContext) Remove a service listener previously started insideregisterServiceListener(BundleContext).Returns the Throwable that caused the current transaction to be marked for rollback, provided that any exists.jakarta.transaction.TransactionManagerReturn the TransactionManager for the managed runtime.static voidregisterServiceListener(org.osgi.framework.BundleContext bundleContext) Register a service listener to the given bundle context byBundleContext.addServiceListener(ServiceListener,String)with a filter expression of(objectClass=jakarta.transaction.TransactionManager).voidsetRollbackOnly(Throwable cause) Sets the rollback only flag on the current transaction.Methods inherited from class org.apache.openjpa.ee.AbstractManagedRuntime
doNonTransactionalWork, getTransactionKey
-
Constructor Details
-
OSGiManagedRuntime
public OSGiManagedRuntime()
-
-
Method Details
-
registerServiceListener
public static void registerServiceListener(org.osgi.framework.BundleContext bundleContext) throws org.osgi.framework.InvalidSyntaxException Register a service listener to the given bundle context by
BundleContext.addServiceListener(ServiceListener,String)with a filter expression of(objectClass=jakarta.transaction.TransactionManager).The caller is responsible for calling
deregisterServiceListener(BundleContext), when the bundle context is being stopped.- Parameters:
bundle- The bundle, which is currently being started.- Throws:
org.osgi.framework.InvalidSyntaxException- When the filter expression is invalid.
-
deregisterServiceListener
public static void deregisterServiceListener(org.osgi.framework.BundleContext bundleContext) Remove a service listener previously started insideregisterServiceListener(BundleContext).- Parameters:
bundleContext- The bundle context to callBundleContext.removeServiceListener(ServiceListener)on.
-
getTransactionManager
Description copied from interface:ManagedRuntimeReturn 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
Description copied from interface:ManagedRuntimeSets 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
Description copied from interface:ManagedRuntimeReturns 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
-