4.3. メッセージ駆動型 bean


メッセージ駆動型 bean は、特別な EJB3 bean で、スタブからのプロキシメソッドの呼び出しではなく JMS メッセージを使いサービスリクエストを受信します。そのため、メッセージ駆動型 bean の重要な設定パラメーターは、リッスンする JMS メッセージキューはどれか指定するためのものです。キューに受信メッセージがある場合、サーバーは bean の onMessage() メソッドを呼び出し、このメソッドをメッセージ内で渡し処理を行います。bean クラスは @MessageDriven アノテーションで JMS キューを指定します。このキューはローカルの JNDI java:comp/env/ 名前空間に登録されます。
@MessageDriven(activationConfig =
{
  @ActivationConfigProperty(propertyName="destinationType",
    propertyValue="javax.jms.Queue"),
  @ActivationConfigProperty(propertyName="destination",
    propertyValue="queue/MyQueue")
})
public class MyJmsBean implements MessageListener {

  public void onMessage (Message msg) {
    // ... do something with the msg ...
  }

  // ... ...
}

メッセージ駆動型 bean がデプロイされると、受信メッセージキューが存在しない場合は自動で作成されます。Bean にメッセージを送信するには、標準の JMS API を使ってください。
try {
    InitialContext ctx = new InitialContext();
    queue = (Queue) ctx.lookup("queue/MyQueue");
    QueueConnectionFactory factory =
        (QueueConnectionFactory) ctx.lookup("ConnectionFactory");
    cnn = factory.createQueueConnection();
    sess = cnn.createQueueSession(false,
            QueueSession.AUTO_ACKNOWLEDGE);

} catch (Exception e) {
    e.printStackTrace ();
}
  
TextMessage msg = sess.createTextMessage(...);

sender = sess.createSender(queue);
sender.send(msg);

JMS 仕様あるいは書籍を参照し、JMS API のプログラミングの方法について学習してみてください。
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。 最新の更新を見る.

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

Theme

© 2026 Red Hat
トップに戻る