import javax.jms.*; public class MessagePublisher { private QueueConnectionFactory connectionFactory; private Queue queue; public MessagePublisher(String connectionFactoryJndiName, String queueJndiName) { try { InitialContext context = new InitialContext(); connectionFactory = (QueueConnectionFactory) context.lookup(connectionFactoryJndiName); queue = (Queue) context.lookup(queueJndiName); } catch (NamingException e) { e.printStackTrace(); } } public void publishMessage(String message) { try { QueueConnection connection = connectionFactory.createQueueConnection(); QueueSession session = connection.createQueueSession(false, Session.AUTO_ACKNOWLEDGE); QueueSender sender = session.createSender(queue); TextMessage textMessage = session.createTextMessage(); textMessage.setText(message); sender.send(textMessage); sender.close(); session.close(); connection.close(); } catch (JMSException e) { e.printStackTrace(); } } } import javax.jms.*; public class MessageReceiver implements MessageListener { private QueueConnectionFactory connectionFactory; private Queue queue; public MessageReceiver(String connectionFactoryJndiName, String queueJndiName) { try { InitialContext context = new InitialContext(); connectionFactory = (QueueConnectionFactory) context.lookup(connectionFactoryJndiName); queue = (Queue) context.lookup(queueJndiName); } catch (NamingException e) { e.printStackTrace(); } } public void startListening() { try { QueueConnection connection = connectionFactory.createQueueConnection(); QueueSession session = connection.createQueueSession(false, Session.AUTO_ACKNOWLEDGE); QueueReceiver receiver = session.createReceiver(queue); receiver.setMessageListener(this); connection.start(); } catch (JMSException e) { e.printStackTrace(); } } @Override public void onMessage(Message message) { if (message instanceof TextMessage) { try { TextMessage textMessage = (TextMessage) message; } catch (JMSException e) { e.printStackTrace(); } } } } public class Main { public static void main(String[] args) { String connectionFactoryJndiName = "java:/ConnectionFactory"; String queueJndiName = "queue/MyQueue"; MessagePublisher publisher = new MessagePublisher(connectionFactoryJndiName, queueJndiName); publisher.publishMessage("Hello, World!"); MessageReceiver receiver = new MessageReceiver(connectionFactoryJndiName, queueJndiName); receiver.startListening(); } }


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