一起来学activeMQ 5.pub/sub ,non-persistent/persistent,queue

来源:互联网 发布:软件系统验收规范 编辑:程序博客网 时间:2024/06/05 20:53

不再废话,一切由代码说话

1.queue

producer:

ConnectionFactory connectionFactory = new ActiveMQConnectionFactory("tcp://192.168.151.128:61616");        Connection connection = null;        Session session = null;        try {            connection = connectionFactory.createConnection();            connection.start();            session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);            Destination destination = session.createQueue("my-queue");            MessageProducer producer = session.createProducer(destination);            producer.setTimeToLive(60);            for(int i=0;i<3;i++){                MapMessage messgae = session.createMapMessage();                messgae.setString("message---"+i, "msg"+i);                messgae.setStringProperty("hellow", "world");                producer.send(messgae);                System.out.println(i);            }            session.commit();        } catch (JMSException e) {            e.printStackTrace();        }finally {            try {                if (connection != null) {                    connection.close();                }                if (session != null) {                    session.close();                }            } catch (JMSException e2) {            }        }

consumer:

ConnectionFactory connectionFactory = new ActiveMQConnectionFactory("tcp://192.168.151.128:61616");        Connection connection = null;        Session session = null;        try {            connection = connectionFactory.createConnection();            connection.start();            Enumeration<String> enumerations = connection.getMetaData().getJMSXPropertyNames();            while (enumerations.hasMoreElements()) {                System.out.println("name:" + enumerations.nextElement());            }            session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);            Destination destination = session.createQueue("my-queue");            MessageConsumer consumer = session.createConsumer(destination);            for (int i = 0; i < 30; i++) {                MapMessage msg = (MapMessage) consumer.receive();// 接受一次消息                System.out.println("prototype:" + msg.getStringProperty("hellow"));                System.out.println("msg:" + msg.getString("message---" + i));            }            session.commit();        } catch (JMSException e) {            e.printStackTrace();        } finally {            try {                if (connection != null) {                    connection.close();                }                if (session != null) {                    session.close();                }            } catch (JMSException e2) {            }        }
0 0