Package org.apache.openjpa.event
Class RemoteCommitEventManager
- java.lang.Object
-
- org.apache.openjpa.lib.util.concurrent.AbstractConcurrentEventManager
-
- org.apache.openjpa.event.RemoteCommitEventManager
-
- All Implemented Interfaces:
java.io.Serializable
,EndTransactionListener
,Closeable
,EventManager
public class RemoteCommitEventManager extends AbstractConcurrentEventManager implements EndTransactionListener, Closeable
Manager that can be used to track and notifyRemoteCommitListener
s on remote commit events. If remote events are enabled, this manager should be installed as a transaction listener on all brokers so that it knows when commits are made.- Since:
- 0.3.0
- Author:
- Patrick Linskey, Abe White
- See Also:
- Serialized Form
-
-
Field Summary
-
Fields inherited from class org.apache.openjpa.lib.util.concurrent.AbstractConcurrentEventManager
_listeners
-
-
Constructor Summary
Constructors Constructor Description RemoteCommitEventManager(OpenJPAConfiguration conf)
Constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
addInternalListener(RemoteCommitListener listen)
Adds an OpenJPA-internal listener to this RemoteCommitEventManager.void
addListener(RemoteCommitListener listen)
void
afterCommit(TransactionEvent event)
Notification that a transaction has successfully committed.void
afterCommitComplete(TransactionEvent event)
Notification that a transaction has successfully committed and the transaction is no longer active.void
afterRollback(TransactionEvent event)
Notification that a transaction has been rolled back.void
afterRollbackComplete(TransactionEvent event)
Notification that a transaction has been rolled back and the transaction is no longer active.void
afterStateTransitions(TransactionEvent event)
Notification that state transitions are complete.boolean
areRemoteEventsEnabled()
Return true if remote events are enabled.void
beforeCommit(TransactionEvent event)
Notification that the next flush is for the transaction commit.void
close()
Close this manager and all registered listeners.protected void
fireEvent(java.lang.Object event, java.lang.Object listener)
Implement this method to fire the given event to the given listener.void
fireLocalStaleNotification(java.lang.Object oid)
Fire an event to local listeners only notifying them of a detected stale record.RemoteCommitProvider
getRemoteCommitProvider()
Return theRemoteCommitProvider
that this manager uses.boolean
getTransmitPersistedObjectIds()
Whether the oids of added instances will be transmitted.void
setTransmitPersistedObjectIds(boolean transmit)
Whether the oids of added instances will be transmitted.-
Methods inherited from class org.apache.openjpa.lib.util.concurrent.AbstractConcurrentEventManager
addListener, fireEvent, getListeners, hasListener, hasListeners, isFailFast, newListenerCollection, removeListener, setFailFast
-
-
-
-
Constructor Detail
-
RemoteCommitEventManager
public RemoteCommitEventManager(OpenJPAConfiguration conf)
Constructor. Supply configuration.
-
-
Method Detail
-
areRemoteEventsEnabled
public boolean areRemoteEventsEnabled()
Return true if remote events are enabled.
-
getRemoteCommitProvider
public RemoteCommitProvider getRemoteCommitProvider()
Return theRemoteCommitProvider
that this manager uses.- Since:
- 0.3.1
-
getTransmitPersistedObjectIds
public boolean getTransmitPersistedObjectIds()
Whether the oids of added instances will be transmitted.
-
setTransmitPersistedObjectIds
public void setTransmitPersistedObjectIds(boolean transmit)
Whether the oids of added instances will be transmitted.
-
addInternalListener
public void addInternalListener(RemoteCommitListener listen)
Adds an OpenJPA-internal listener to this RemoteCommitEventManager. Listeners so registered will be fired before any that are registered viaaddListener(org.apache.openjpa.event.RemoteCommitListener)
. This means that the external listeners can rely on internal caches and data structures being up-to-date by the time that they are invoked.- Since:
- 1.0.0
-
addListener
public void addListener(RemoteCommitListener listen)
-
close
public void close()
Close this manager and all registered listeners.
-
fireEvent
protected void fireEvent(java.lang.Object event, java.lang.Object listener)
Description copied from class:AbstractConcurrentEventManager
Implement this method to fire the given event to the given listener.- Specified by:
fireEvent
in classAbstractConcurrentEventManager
-
fireLocalStaleNotification
public void fireLocalStaleNotification(java.lang.Object oid)
Fire an event to local listeners only notifying them of a detected stale record.- Since:
- 1.0.0
-
afterCommit
public void afterCommit(TransactionEvent event)
Description copied from interface:EndTransactionListener
Notification that a transaction has successfully committed.- Specified by:
afterCommit
in interfaceEndTransactionListener
- See Also:
TransactionEvent.AFTER_COMMIT
-
beforeCommit
public void beforeCommit(TransactionEvent event)
Description copied from interface:EndTransactionListener
Notification that the next flush is for the transaction commit.- Specified by:
beforeCommit
in interfaceEndTransactionListener
- See Also:
TransactionEvent.BEFORE_COMMIT
-
afterRollback
public void afterRollback(TransactionEvent event)
Description copied from interface:EndTransactionListener
Notification that a transaction has been rolled back.- Specified by:
afterRollback
in interfaceEndTransactionListener
- See Also:
TransactionEvent.AFTER_ROLLBACK
-
afterCommitComplete
public void afterCommitComplete(TransactionEvent event)
Description copied from interface:EndTransactionListener
Notification that a transaction has successfully committed and the transaction is no longer active.- Specified by:
afterCommitComplete
in interfaceEndTransactionListener
- See Also:
TransactionEvent.AFTER_COMMIT_COMPLETE
-
afterRollbackComplete
public void afterRollbackComplete(TransactionEvent event)
Description copied from interface:EndTransactionListener
Notification that a transaction has been rolled back and the transaction is no longer active.- Specified by:
afterRollbackComplete
in interfaceEndTransactionListener
- See Also:
TransactionEvent.AFTER_ROLLBACK_COMPLETE
-
afterStateTransitions
public void afterStateTransitions(TransactionEvent event)
Description copied from interface:EndTransactionListener
Notification that state transitions are complete.- Specified by:
afterStateTransitions
in interfaceEndTransactionListener
- See Also:
TransactionEvent.AFTER_STATE_TRANSITIONS
-
-