session.flush()の責務はService

前に、jBPMContext.closeでsession.flushが
されるって書いたけど、ソースを調べてたら
正確にはcontextはServiceにclose()を委譲
していて、Persistentのdefault implementation
がflushしている。
なのでアーキテクチャ的には、それなりの
実装すればmakotanさんの言っているとおり
利用者がAOP利用したり、jBPM内部からトランザクション
管理まわりを追放することさえも可能。

きっと仕事だったら納期もあるし、
jBPM流儀にそって、極力作りこまないように
するかもしれない。
プロジェクトを取り巻く状況によるかな。
(そのうちjBPM設計方針がみえてくるといいかな?)

とりあえず引き続き、継続してちょっとずつ
把握していくべし。