import org.apache.activemq.ActiveMQConnectionFactory; import javax.jms.*; public class AsyncMessageSender { public static void main(String[] args) { ConnectionFactory connectionFactory = new ActiveMQConnectionFactory("tcp://localhost:61616"); Connection connection = null; try { connection = connectionFactory.createConnection(); Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE); Destination destination = session.createQueue("TestQueue"); MessageProducer producer = session.createProducer(destination); producer.setDeliveryMode(DeliveryMode.NON_PERSISTENT); TextMessage message = session.createTextMessage("Hello, ActiveMQ!"); producer.setAsync(new CompletionListener() { @Override public void onCompletion(Message message) { System.out.println("Message sent successfully: " + message); } @Override public void onException(Message message, Exception e) { System.out.println("Failed to send message: " + message); } }); producer.send(message); Thread.sleep(1000); session.close(); } catch (Exception e) { e.printStackTrace(); } finally { if (connection != null) { try { connection.close(); } catch (JMSException e) { e.printStackTrace(); } } } } } import org.apache.activemq.ActiveMQConnectionFactory; import javax.jms.*; public class MessageConsumerWithFilter { public static void main(String[] args) { ConnectionFactory connectionFactory = new ActiveMQConnectionFactory("tcp://localhost:61616"); Connection connection = null; try { connection = connectionFactory.createConnection(); connection.start(); Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE); Destination destination = session.createQueue("TestQueue"); MessageConsumer consumer = session.createConsumer(destination, "price > 100"); consumer.setMessageListener(new MessageListener() { @Override public void onMessage(Message message) { try { if (message instanceof TextMessage) { System.out.println("Received message: " + ((TextMessage) message).getText()); } } catch (JMSException e) { e.printStackTrace(); } } }); session.close(); } catch (Exception e) { e.printStackTrace(); } finally { if (connection != null) { try { connection.close(); } catch (JMSException e) { e.printStackTrace(); } } } } } import org.apache.activemq.ActiveMQConnectionFactory; import javax.jms.*; public class PersistentMessageSender { public static void main(String[] args) { ConnectionFactory connectionFactory = new ActiveMQConnectionFactory("tcp://localhost:61616"); Connection connection = null; try { connection = connectionFactory.createConnection(); connection.start(); Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE); Destination destination = session.createQueue("TestQueue"); MessageProducer producer = session.createProducer(destination); producer.setDeliveryMode(DeliveryMode.PERSISTENT); TextMessage message = session.createTextMessage("Hello, ActiveMQ!"); producer.send(message); session.close(); } catch (Exception e) { e.printStackTrace(); } finally { if (connection != null) { try { connection.close(); } catch (JMSException e) { e.printStackTrace(); } } } } }


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