MQ nubee が最初の Java クライアントを作成するのを手伝ってください。Oracle ドキュメントで少し迷ってしまいました。私はOpenMQを稼働させています。OpenMQ 管理コンソールで、「MyFirstTest」という名前のブローカーを確立しました。6 つのサービスのうちの 1 つは「jms」であり (これが最も使いやすいサービスのようです)、このサービスも稼働しています (サービス状態は実行中です)。だから私は興味深い部分に来ます。ブローカー「MyFirstTest」に接続してメッセージを送信し、最後に、おそらく 2 番目のクライアントからこのメッセージを読み取るにはどうすればよいでしょうか。
新しい com.sun.messaging.Queue を使用する代わりに、既存のキューを見つける必要があると思います
例やリンクを歓迎します。
public class HelloWorldMessage {
public static void main(String[] args) {
try {
ConnectionFactory myConnFactory;
Queue myQueue;
myConnFactory = new com.sun.messaging.ConnectionFactory();
Connection myConn = myConnFactory.createConnection();
Session mySess = myConn.createSession(false, Session.AUTO_ACKNOWLEDGE);
myQueue = new com.sun.messaging.Queue("MyFirstTest");
//Create a message producer.
MessageProducer myMsgProducer = mySess.createProducer(myQueue);
//Create and send a message to the queue.
TextMessage myTextMsg = mySess.createTextMessage();
myTextMsg.setText("Hello World");
System.out.println("Sending Message: " + myTextMsg.getText());
myMsgProducer.send(myTextMsg);
//Create a message consumer.
MessageConsumer myMsgConsumer = mySess.createConsumer(myQueue);
//Start the Connection created in step 3.
myConn.start();
//Receive a message from the queue.
Message msg = myMsgConsumer.receive();
//Retreive the contents of the message.
if (msg instanceof TextMessage) {
TextMessage txtMsg = (TextMessage) msg;
System.out.println("Read Message: " + txtMsg.getText());
}
//Close the session and connection resources.
mySess.close();
myConn.close();
} catch (Exception jmse) {
System.out.println("Exception occurred : " + jmse.toString());
jmse.printStackTrace();
}
}
}