Jboss JMS очередь - сообщение теряется - PullRequest
0 голосов
/ 12 декабря 2011

Я учусь асинхронно использовать сообщения.Я использую 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
  }
  }
}
...