6.2. JNDI を使用せずに直接 JMS リソースをインスタンス化


JNDI から JMS 管理対象オブジェクト (JMS キュー、トピック、および ConnectionFactory インスタンス) をルックアップすることは非常に一般的です。ただし、場合によっては、JNDI サーバーが利用できず、JMS の使用が必要なことがあります。または、オブジェクトを直接インスタンス化することが推奨されます。これは、JMS キュー、トピック、および ConnectionFactory インスタンスの直接インスタンス化をサポートする HornetQ で可能です。
以下に、JNDI をまったく使用しない単純な例を示します。
HornetQJMSClient ユーティリティークラスを使用して JMS ConnectionFactory オブジェクトを作成します。接続パラメーターを提供し、使用するトランスポートを指定する必要があることに注意してください。コネクターの詳細については、14章トランスポートの設定 を参照してください。
TransportConfiguration transportConfiguration =
   new TransportConfiguration(NettyConnectorFactory.class.getName());                
ConnectionFactory cf =
   HornetQJMSClient.createConnectionFactory(transportConfiguration);
Copy to Clipboard Toggle word wrap
また、HornetQJMSClient ユーティリティークラスを使用して JMS キューオブジェクトを作成します。
Queue orderQueue = HornetQJMSClient.createQueue("OrderQueue");
Copy to Clipboard Toggle word wrap
次に、接続ファクトリーを使用して JMS 接続を作成します。
Connection connection = cf.createConnection();
Copy to Clipboard Toggle word wrap
AUTO_ACKNOWLEDGE 承認モードで非トランザクション JMS セッションを作成します。
Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
Copy to Clipboard Toggle word wrap
キューに注文を送信する MessageProducer を作成します。
MessageProducer producer = session.createProducer(orderQueue);
Copy to Clipboard Toggle word wrap
キューから注文を消費する MessageConsumer を作成します。
MessageConsumer consumer = session.createConsumer(orderQueue);
Copy to Clipboard Toggle word wrap
接続を開始するようにしてください。開始しないと、配信が実行されません。
connection.start();
Copy to Clipboard Toggle word wrap
単純な TextMessage を作成し、送信します。
TextMessage message = session.createTextMessage("This is an order");
producer.send(message);
Copy to Clipboard Toggle word wrap
メッセージを消費します。
TextMessage receivedMessage = (TextMessage)consumer.receive();
System.out.println("Got order: " + receivedMessage.getText());
Copy to Clipboard Toggle word wrap
トップに戻る
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

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

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

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

会社概要

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

Theme

© 2025 Red Hat