E
- 待機する特定の ApplicationEvent
サブクラス public class TransactionalApplicationListenerAdapter<E extends ApplicationEvent> extends ObjectSE implements TransactionalApplicationListener<E>, Ordered
ApplicationListener
インスタンスに委譲する TransactionalApplicationListener
アダプター。通常の ApplicationListener
とまったく同じ機能をサポートしますが、イベント発行者のトランザクションコンテキストを認識します。 単純な PayloadApplicationEvent
処理の場合、このアダプタークラスのカスタム使用箇所の便利な代替手段として TransactionalApplicationListener.forPayload(java.util.function.Consumer<T>)
ファクトリメソッドを検討してください。
TransactionalApplicationListener
, TransactionalEventListener
, TransactionalApplicationListenerMethodAdapter
TransactionalApplicationListener.SynchronizationCallback
HIGHEST_PRECEDENCE, LOWEST_PRECEDENCE
コンストラクターと説明 |
---|
TransactionalApplicationListenerAdapter(ApplicationListener<E> targetListener) 新しい TransactionalApplicationListenerAdapter を作成します。 |
修飾子と型 | メソッドと説明 |
---|---|
void | addCallback(TransactionalApplicationListener.SynchronizationCallback callback) トランザクション同期内の処理時に呼び出されるコールバックを追加します。 |
StringSE | getListenerId() リスナーを識別するための ID を返します。 |
int | getOrder() リスナーの同期順序を返します。 |
TransactionPhase | getTransactionPhase() でリスナーを呼び出すトランザクションフェーズに戻ります。 |
void | onApplicationEvent(E event) アプリケーションイベントを処理します。 |
void | processEvent(E event) 指定された ApplicationEvent をすぐに処理します。 |
void | setListenerId(StringSE listenerId) リスナーを識別する ID を指定します。 |
void | setOrder(int order) リスナーの同期順序を指定します。 |
void | setTransactionPhase(TransactionPhase transactionPhase) でリスナーを呼び出すトランザクションフェーズを指定します。 |
cloneSE, equalsSE, finalizeSE, getClassSE, hashCodeSE, notifySE, notifyAllSE, toStringSE, waitSE, waitSE, waitSE
forPayload, forPayload
public TransactionalApplicationListenerAdapter(ApplicationListener<E> targetListener)
targetListener
- 指定されたトランザクションフェーズで呼び出す実際のリスナー setTransactionPhase(org.springframework.transaction.event.TransactionPhase)
, TransactionalApplicationListener.forPayload(java.util.function.Consumer<T>)
public void setOrder(int order)
public int getOrder()
Ordered
の getOrder
TransactionalApplicationListener<E extends ApplicationEvent>
の getOrder
TransactionSynchronization.getOrder()
public void setTransactionPhase(TransactionPhase transactionPhase)
デフォルトは TransactionPhase.AFTER_COMMIT
です。
public TransactionPhase getTransactionPhase()
TransactionalApplicationListener<E extends ApplicationEvent>
の getTransactionPhase
public void setListenerId(StringSE listenerId)
デフォルトは空の文字列です。
public StringSE getListenerId()
TransactionalApplicationListener<E extends ApplicationEvent>
の getListenerId
SmartApplicationListener.getListenerId()
, TransactionalEventListener.id()
, TransactionalApplicationListener.addCallback(org.springframework.transaction.event.TransactionalApplicationListener.SynchronizationCallback)
public void addCallback(TransactionalApplicationListener.SynchronizationCallback callback)
TransactionalApplicationListener
TransactionalApplicationListener.processEvent(E)
がトリガーされたときに呼び出されるコールバックを追加します。TransactionalApplicationListener<E extends ApplicationEvent>
の addCallback
callback
- 適用する同期コールバック public void processEvent(E event)
TransactionalApplicationListener
ApplicationEvent
をすぐに処理します。ApplicationListener.onApplicationEvent(ApplicationEvent)
とは対照的に、このメソッドの呼び出しは、関連付けられた transaction phase
に延期することなく、指定されたイベントを直接処理します。TransactionalApplicationListener<E extends ApplicationEvent>
の processEvent
event
- ターゲットリスナーの実装を通じて処理するイベント public void onApplicationEvent(E event)
ApplicationListener
ApplicationListener<E extends ApplicationEvent>
の onApplicationEvent
event
- 応答するイベント