メッセージドリブンBeanの代わりにSessionBeanを使用してみませんか?
EJBからリモートメソッドを呼び出すことができるのなら、なぜメッセージ駆動型Bean(セッションBeanよりも開発が難しい)でメッセージを送受信するのが面倒なのですか?
メッセージ駆動型Beanが役立つシナリオはどれですか?
メッセージドリブンBeanの代わりにSessionBeanを使用してみませんか?
EJBからリモートメソッドを呼び出すことができるのなら、なぜメッセージ駆動型Bean(セッションBeanよりも開発が難しい)でメッセージを送受信するのが面倒なのですか?
メッセージ駆動型Beanが役立つシナリオはどれですか?
メッセージドリブンBeanの代わりにSessionBeanを使用してみませんか?
うーん、それらは同じ目的を果たしません。メッセージ駆動型Beanにより、JavaEEアプリケーションはメッセージを非同期的に処理できます。
EJBからリモートメソッドを呼び出すことができるのなら、なぜメッセージ駆動型Bean(セッションBeanよりも開発が難しい)でメッセージを送受信するのが面倒なのですか?
MDBは非同期性と緩い結合を提供するため、状況によってはこれが必要になる場合があります。
ちなみに、私は常にMDBが最も開発しやすいEnterpriseBeanであることに気づきました。
メッセージ駆動型Beanが役立つシナリオはどれですか?
上記を参照。
メッセージ駆動型Beanは、エンティティ/セッションBeanとは異なり、JMSキューを非同期的にリッスンします。
メッセージがキューに到着したときにのみ処理が行われるため、これによってサーバーリソースがブロックされることはありません。
たくさんのJavaフォーラムやサイト以外に、ウィキペディアにはMDBが役立つ一連の優れたユースケースがあります。
http://en.wikipedia.org/wiki/Enterprise_JavaBean#Message_driven_beans
どちらも異なる目的を果たします。
1)リモートメソッドの使用のみに使用する場合は、SessionBeanを使用します
2)ただし、応答/結果が重要ではないが、後のメッセージが重要である場合は、キューを作成しているときにJMSを使用して、それを機能させ、メッセージを設定します。しかし、パフォーマンスの問題はそこにあります。
メソッドを使用する必要がある場合は、軽量BeanであるセッションBeanを使用してください。そしてそれは良いパフォーマンスを与えています。