@EventListener @Target(value={METHOD,ANNOTATION_TYPE}) @Retention(value=RUNTIME) @Documented public @interface TransactionalEventListener
EventListener
that is invoked according to a TransactionPhase
.
If the event is not published within the boundaries of a managed transaction, the event
is discarded unless the fallbackExecution()
flag is explicitly set. If a
transaction is running, the event is processed according to its TransactionPhase
.
Adding @Order
on your annotated method
allows you to prioritize that listener amongst other listeners running in the same phase.
Modifier and Type | Optional Element and Description |
---|---|
java.lang.String |
condition
Spring Expression Language (SpEL) attribute used for making the event
handling conditional.
|
boolean |
fallbackExecution
Specify if the event should be processed if no transaction is running.
|
TransactionPhase |
phase
Phase to bind the handling of an event to.
|
public abstract TransactionPhase phase
fallbackExecution()
has been
enabled explicitly.public abstract boolean fallbackExecution
public abstract java.lang.String condition
Default is "", meaning the event is always handled.
EventListener.condition()