seasarorg/dbflute-play — pull request #5 by manhole (2014-04-15 09:15:15+00:00)
Title: actionをasyncにしてもトランザクションが追従するようにしました

requestをasyncにしてスレッドが切り替わっても、トランザクションが追従するようにしました。

* debug/async1のコンソールログで、スレッドが変わっても同じConnectionを取得できていることを確認できます。
* debug/async2のコンソールログで、別スレッドで例外が発生してもrollbackされることを確認できます。

##### 実装上の要点

* ThreadLocalの代わりにHttp.Contextを保存先とするTransactionManagerImpl拡張を作成しました: HttpContextBoundTransactionManager
* Seasar2のJTATransactionManagerAdapterのAsync対応版を作成しました: AsyncJTATransactionManagerAdapter