实战
代码如下:
信息生产者
package test.mq.helloword; import javax.jms.Connection; import javax.jms.ConnectionFactory; import javax.jms.Destination; import javax.jms.JMSException; import javax.jms.MessageProducer; import javax.jms.Session; import javax.jms.TextMessage; import org.apache.activemq.ActiveMQConnectionFactory; public class Sender { public static void main(String[] args) throws JMSException, InterruptedException { ConnectionFactory ConnectionFactory=new ActiveMQConnectionFactory( "tcp://localhost:61616" ); Connection connection=ConnectionFactory.createConnection(); connection.start(); Session session=connection.createSession(Boolean.TRUE, Session.AUTO_ACKNOWLEDGE); Destination destination=session.createQueue("my_queue"); MessageProducer Producer=session.createProducer(destination); for(int i=1;i<=3;i++){ TextMessage message=session.createTextMessage("message----"+i); //Thread.sleep(1000); Producer.send(message); } session.commit(); session.close(); connection.close(); } }
ActiveMQ页面
信息消费者
package test.mq.helloword; import javax.jms.Connection; import javax.jms.ConnectionFactory; import javax.jms.DeliveryMode; import javax.jms.Destination; import javax.jms.JMSException; import javax.jms.MessageConsumer; import javax.jms.MessageProducer; import javax.jms.Session; import javax.jms.TextMessage; import org.apache.activemq.ActiveMQConnectionFactory; import org.apache.activemq.broker.ConsumerBrokerExchange; public class Receiver { public static void main(String[] args) throws JMSException { ConnectionFactory ConnectionFactory=new ActiveMQConnectionFactory( "tcp://localhost:61616" ); Connection connection=ConnectionFactory.createConnection(); connection.start(); Session session=connection.createSession(Boolean.FALSE, Session.AUTO_ACKNOWLEDGE); Destination destination=session.createQueue("my_queue"); MessageConsumer Consumer=session.createConsumer(destination); while(true){ TextMessage msg=(TextMessage) Consumer.receive(); msg.acknowledge(); if(msg==null)break; System.out.println("接收信息:------》"+msg.getText()); } if(connection!=null){ connection.close(); } } }
控制台
ActiveMQ页面