SpringのPlatformTransactionManagerを使用してトランザクションのコミットとロールバックを手動で実行したため、トランザクション後にコミット後のアクションが発生するようにフックを設定しますコミット。見ることによってSpringでトランザクションを使用するときのコミットの作成
:私はトランザクションを決定する方法を見て傾ける
void commit(TransactionStatus status) throws TransactionException;
にはexpceptionがスローされていないので、もしそれをassumming以外成功しました。
私は1つのオプションとしてAOPを使うことができましたが、programmitcallyはコールバックメソッドを使用していましたか?
これはかなりいいと思われます...そのような単一のスレッドにバインドされ、呼び出しが再帰的である場合...1つのスレッドがトランザクションを開始すると、同期が登録され(1 - コミット後)、そのトランザクションに参加する別のメソッドを呼び出して同期を登録します(2 - コミット後)....コミットすると...コミット・シンクロナイザそれらが1つのセットに格納されているために解雇されるでしょうか?多分私は間違ってテストしなければなりません... – user1555190
'TransactionSynchronization'オブジェクトは' TransactionSynchronizationManager 'で取り出すことができるスレッドリストによってリストとして保持されます。 getSynchronizations() ' – Grooveek
私はそれがセットとして保持されていると信じて、リストとして返されます... Set synchs .............. return new ArrayList (synchs) .....コミットした後に二人がコミットしたと思っているだけです。 –
user1555190