16章/17章
JMSの説明と、MDBじゃない単体APでのJMSプロデューサとJMSコンシューマの例。
JMSの良い点は通信の確実性だな。受信側の処理が正常終了してから始めてキューから削除されるんで途中でサーバが落ちても大丈夫。ただヘボい事すると「受信→処理失敗→また同じメッセージ受信→処理失敗」を延々繰り返すポイズンメッセージ。
・JMSプロバイダに対してキューからの削除指示は、AUTOだとOnMessageを抜けると同時に消え、CLIENTだとメソッドコールで明示するタイミングで消える。
・JMSプロバイダに対して複数メッセージ送信を1トランザクションに、複数メッセージ受信を1トランザクションにすることが出来る。ロールバック発生時は再度最小のメッセージ送信or受信からやり直し。
・他のDB更新等と一緒にグローバルトランザクションに参加することも出来る。

17章はMDBのコードサンプル。
以下の2つの状態がある
1.アクティブ(=メモリ上にプールされている状態)、2.存在しない。
管理はコンテナで不定期。生成、破棄の際に呼ばれるコールバックをアノテーションで指定できる。