import javax.jms.*; import org.jboss.mq.*; import org.jboss.mq.server.*; import org.jboss.mq.sm.*; import org.jboss.mq.sm.interceptors.*; public class AsyncMessageProcessor implements MessageListener { private static QueueConnection connection; private static QueueSession session; private static QueueReceiver receiver; public void start() { try { QueueConnectionFactory factory = new org.jboss.mq.SpyConnectionFactory(); connection = factory.createQueueConnection(); session = connection.createQueueSession(false, Session.AUTO_ACKNOWLEDGE); receiver = session.createReceiver(destination); receiver.setMessageListener(this); connection.start(); } catch (Exception e) { e.printStackTrace(); } } public void stop() { try { if (receiver != null) { receiver.close(); } if (session != null) { session.close(); } if (connection != null) { connection.close(); } } catch (Exception e) { e.printStackTrace(); } } @Override public void onMessage(Message message) { try { if (message instanceof TextMessage) { TextMessage textMessage = (TextMessage) message; String content = textMessage.getText(); System.out.println("Received message: " + content); } } catch (JMSException e) { e.printStackTrace(); } } public static void main(String[] args) { AsyncMessageProcessor processor = new AsyncMessageProcessor(); processor.start(); try { QueueConnectionFactory factory = new org.jboss.mq.SpyConnectionFactory(); QueueConnection senderConnection = factory.createQueueConnection(); QueueSession senderSession = senderConnection.createQueueSession(false, Session.AUTO_ACKNOWLEDGE); QueueSender sender = senderSession.createSender(senderDestination); TextMessage message = senderSession.createTextMessage(); message.setText("Hello, JBossMQ!"); sender.send(message); sender.close(); senderSession.close(); senderConnection.close(); } catch (Exception e) { e.printStackTrace(); } processor.stop(); } }


上一篇:
下一篇:
切换中文