ガイドライン: メッセージ駆動型 Bean の設計
トピック
概論
このガイドラインでは、メッセージ駆動型 Bean の設計を中心に説明します。識別や設計方法など、メッセージ駆動型 Bean についての補足ガイダンスは、『ガイドライン: メッセージ駆動型 Bean』で提供されます。EJB に関する一般的なガイダンスは、『ガイドライン:
Enterprise JavaBeans (EJB)』で提供します。
メッセージ駆動型 Bean は、インターフェース操作を介して直接的にではなく、メッセージを介して間接的に呼び出されるため、設計には、メッセージ形式を詳述し、メッセージに対する応答の振る舞いを記述する必要があります。インターフェース操作を詳述する必要はありません。
メッセージングを使用する上で制限事項が 1 つあります。それは、メッセージのプロデューサーとコンシューマー (メッセージ駆動型 Bean) が同じトランザクションに参加できないことです。
メッセージのプロデューサーはトランザクションを使用してメッセージをキューに配置できます。メッセージ駆動型 Bean は、別のトランザクションを使用してメッセージ処理の結果をコミットできます。しかし、これらは常に別のトランザクションでなければなりません。
メッセージ駆動型 Bean は、Bean 管理またはコンテナー管理によるトランザクションを使用できます。一般に、コンテナー管理によるトランザクションの方が簡潔なので、推奨されます。詳しくは、『ガイドライン: Enterprise JavaBeans (EJB) の設計』を参照してください。
各メッセージ駆動型 Bean は、複数のインスタンスを持つアクティブ・クラスです。
それぞれのメッセージ駆動型 Bean のインスタンスは並行して動作するため、1 つのインスタンスが受信したメッセージの処理は、別のインスタンスが処理するメッセージの前に完了することもあれば、後に完了することもあります。
つまり、メッセージは、作成された順序とは異なる順序で処理される可能性があります。メッセージ駆動型 Bean の設計は、この可能性を考慮に入れる必要があります。
|