-
添加activeMQ的jar包或者maven添加依赖
<dependency> <groupId>org.apache.activemq</groupId> <artifactId>activemq-core</artifactId> <version>5.7.0</version> </dependency>
-
点对点
-
消息生产者:
public class Producer { public static void main(String[] args) throws JMSException { ConnectionFactory factory=null; Connection connection=null; Session session=null; Destination destination=null; //消息队列 MessageProducer producer=null; //消息生产者 try{ factory=new ActiveMQConnectionFactory(ActiveMQConnection.DEFAULT_USER,ActiveMQConnection.DEFAULT_PASSWORD,ActiveMQConnection.DEFAULT_BROKER_URL); connection=factory.createConnection(); connection.start(); session=connection.createSession(true,Session.AUTO_ACKNOWLEDGE); destination=session.createQueue("消息发送"); producer=session.createProducer(destination); TextMessage message= session.createTextMessage("bbb"); producer.send(message); session.commit(); }catch(Exception e){ e.printStackTrace(); }finally{ session.close(); connection.close(); producer.close(); } } }
-
消息消费者:
public class Consumer { public static void main(String[] args) throws JMSException { ConnectionFactory factory=null; Connection connection=null; Session session=null; Destination destination=null; MessageConsumer consumer=null; TextMessage message; try{ factory=new ActiveMQConnectionFactory(ActiveMQConnection.DEFAULT_USER,ActiveMQConnection.DEFAULT_PASSWORD,ActiveMQConnection.DEFAULT_BROKER_URL); connection=factory.createConnection(); connection.start(); session=connection.createSession(true, Session.AUTO_ACKNOWLEDGE); destination=session.createQueue("消息发送"); consumer=session.createConsumer(destination); //consumer.setMessageListener(new MyMessageListener()); //通过监听器 for (int i=0;i<10;i++){ message= (TextMessage) consumer.receive(); System.out.println(message.getText()); } session.commit(); }catch(Exception e){ e.printStackTrace(); }finally{ session.close(); connection.close(); consumer.close(); } } } public class MyMessageListener implements MessageListener { @Override public void onMessage(Message message){ try { TextMessage textmessage = (TextMessage) message; System.out.println(textmessage.getText()); }catch (Exception e){ e.printStackTrace(); } } }
-
-
发布与订阅
-
生产者和消费者只需要将点对点的producer消息队列改变为topic:
destination=session.createTopic("消息发送");
-
activeMQ
最新推荐文章于 2024-06-07 08:00:00 发布