Я учусь асинхронно использовать сообщения.Я использую Jboss 6.1 и запускаю его через Eclipse.Потребитель загружается через Serlvet init ().Сообщение, которое я отправляю, не расходуется ... не уверен, куда оно идет .. Не уверен, что я что-то упустил ... Определил очереди, и слушатель также отображается в консоли администратора.Количество сообщений в очереди отображается как 0 в консоли администратора.
JMSПроизводитель класса
QueueConnection connection = JMSUtil.getMQConnection();
final QueueSession qSession = JMSUtil.getMQSession(connection);
QueueSender messageProducer =null;
if(qSession!=null){
messageProducer= (QueueSender) JMSUtil.getProducer(qSession,"/queue/TestQ");
TextMessage msg = qSession.createTextMessage("Hello Msg");
messageProducer.send(msg);
System.out.println("Sending message to the queue"+ messageProducer.getQueue().getQueueName());
}
JMSUtil.closeAll(connection, qSession, messageProducer);*
JMSConsumer Class
QueueConnection connection = JMSUtil.getMQConnection();
final QueueSession qSession = JMSUtil.getMQSession(connection);
MessageConsumer consumer;
if(qSession!=null){
consumer = JMSUtil.getConsumer(qSession,"/queue/TestQ");
consumer.setMessageListener(new JMSListener());
}
connection.start();
JMSListener
public class JMSListener implements MessageListener{
public void onMessage(Message msg) {
try {
if (msg instanceof TextMessage) {
TextMessage txtMsg = (TextMessage) msg;
String msgText = txtMsg.getText();
System.out.println("Printing the message from Listener"+msgText);
}
} catch (JMSException e) {
//Handle the exception appropriately
}
}
}