|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
public interface UnitOfWork
This class represents a UnitOfWork in which modifications are made to aggregates. A typical UnitOfWork scope is the execution of a command. A UnitOfWork may be used to prevent individual events from being published before a number of aggregates has been processed. It also allows repositories to manage resources, such as locks, over an entire transaction. Locks, for example, will only be released when the UnitOfWork is either committed or rolled back.
The current UnitOfWork can be obtained usingCurrentUnitOfWork.get().
| Method Summary | ||
|---|---|---|
void |
commit()
Commits the UnitOfWork. |
|
boolean |
isStarted()
Indicates whether this UnitOfWork is started. |
|
void |
publishEvent(Event event,
EventBus eventBus)
Request to publish the given event on the given eventBus. |
|
|
registerAggregate(T aggregateRoot,
SaveAggregateCallback<T> saveAggregateCallback)
Register an aggregate with this UnitOfWork. |
|
void |
registerListener(UnitOfWorkListener listener)
Register a listener that listens to state changes in this UnitOfWork. |
|
void |
rollback()
Clear the UnitOfWork of any buffered changes. |
|
void |
rollback(Throwable cause)
Clear the UnitOfWork of any buffered changes. |
|
void |
start()
Starts the current unit of work, preparing it for aggregate registration. |
|
| Method Detail |
|---|
void commit()
IllegalStateException - if the UnitOfWork wasn't startedvoid rollback()
UnitOfWorkListeners are notified.
If the rollback is a result of an exception, consider using rollback(Throwable) instead.
void rollback(Throwable cause)
UnitOfWorkListeners are notified.
cause - The cause of the rollback. May be null.
IllegalStateException - if the UnitOfWork wasn't startedvoid start()
boolean isStarted()
start() method has been called, and
if the UnitOfWork has not been committed or rolled back.
true if this UnitOfWork is started, false otherwise.void registerListener(UnitOfWorkListener listener)
listener - The listener to notify when the UnitOfWork's state changes.
<T extends AggregateRoot> void registerAggregate(T aggregateRoot,
SaveAggregateCallback<T> saveAggregateCallback)
T - the type of aggregate to registeraggregateRoot - The aggregate root to register in the UnitOfWorksaveAggregateCallback - The callback that is invoked when the UnitOfWork wants to store the registered
aggregate
void publishEvent(Event event,
EventBus eventBus)
event on the given eventBus. The UnitOfWork may either
publish immediately, or buffer the events until the UnitOfWork is committed.
event - The event to be published on the event buseventBus - The event bus on which to publish the event
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||