Пожалуйста, помогите новичку MQ написать свой первый Java-клиент, я немного заблудился в документации Oracle. У меня запущен и работает OpenMQ. В консоли администрирования OpenMQ я установил брокера с именем «MyFirstTest», 1 из 6 служб — «jms» (который кажется наиболее простым в использовании службой), эта служба также запущена и работает (говоря: состояние службы работает). Итак, я перехожу к интересной части. Как мне подключиться к брокеру «MyFirstTest», затем отправить сообщение и, наконец, прочитать это сообщение, возможно, от второго клиента.
Я думаю, что мне нужно найти уже существующую очередь вместо использования новой 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();
}
}
}
Queue
следует использовать методSession.createQueue()
. Независимо от этого, код создает очередь только в том случае, если она еще не существует, в противном случае используется уже существующая. - person Adam Dyga   schedule 04.12.2012