activemq点对点helloworld

2018-01-17  本文已影响0人  zrjone

1.下载地址http://activemq.apache.org/ 可以选择不同的版本去下载

2. 解压启动 在window下 不同的系统 去win32或win64的文件夹下点击 activemq.bat 

启动浏览器输入http://127.0.0.1:8161/admin 进入

默认用户名和密码都是admin 

 activemq点对点 hellowrold 

生产者 

public class JMSProducer {

//默认连接用户名

    private static final StringUSERNAME = ActiveMQConnection.DEFAULT_USER;

    //默认连接密码

    private static final StringPASSWORD = ActiveMQConnection.DEFAULT_PASSWORD;

    //默认连接地址

    private static final StringBROKEURL = ActiveMQConnection.DEFAULT_BROKER_URL;

    //发送的消息数量

    private static final int SENDNUM =10;

    public static void main(String[] args) {

//连接工厂

        ConnectionFactory connectionFactory;

        //连接

        Connection connection =null;

        //会话 接受或者发送消息的线程

        Session session;

        //消息的目的地

        Destination destination;

        //消息生产者

        MessageProducer messageProducer;

        //实例化连接工厂

        connectionFactory =new ActiveMQConnectionFactory(JMSProducer.USERNAME, JMSProducer.PASSWORD, JMSProducer.BROKEURL);

        try {

//通过连接工厂获取连接

            connection = connectionFactory.createConnection();

            //启动连接

            connection.start();

            //创建session  是否使用事务,设置自动确认

            session = connection.createSession(true, Session.AUTO_ACKNOWLEDGE);

            //创建一个名称为HelloWorld的消息队列

            destination = session.createQueue("HelloWorld");

            //创建消息生产者

            messageProducer = session.createProducer(destination);

            //发送消息

            sendMessage(session, messageProducer);

            session.commit();

        }catch (Exception e) {

e.printStackTrace();

        }finally{

if(connection !=null){

try {

connection.close();

                }catch (JMSException e) {

e.printStackTrace();

                }

}

}

}

public static void sendMessage(Session session,MessageProducer messageProducer)throws Exception{

for (int i =0; i < JMSProducer.SENDNUM; i++) {

//创建一条文本消息

            TextMessage message = session.createTextMessage("ActiveMQ 发送消息" +i);

            System.out.println("发送消息:Activemq 发送消息" + i);

            //通过消息生产者发出消息

            messageProducer.send(message);

        }

}

}

消费者

public class JMSConsumer {

private static final StringUSERNAME = ActiveMQConnection.DEFAULT_USER;//默认连接用户名

    private static final StringPASSWORD = ActiveMQConnection.DEFAULT_PASSWORD;//默认连接密码

    private static final StringBROKEURL = ActiveMQConnection.DEFAULT_BROKER_URL;//默认连接地址

    public static void main(String[] args) {

ConnectionFactory connectionFactory;//连接工厂

        Connection connection =null;//连接

        Session session;//会话 接受或者发送消息的线程

        Destination destination;//消息的目的地

        MessageConsumer messageConsumer;//消息的消费者

        //实例化连接工厂

        connectionFactory =new ActiveMQConnectionFactory(JMSConsumer.USERNAME, JMSConsumer.PASSWORD, JMSConsumer.BROKEURL);

        try {

//通过连接工厂获取连接

            connection = connectionFactory.createConnection();

            //启动连接

            connection.start();

            //创建session

            session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);

            //创建一个连接HelloWorld的消息队列

            destination = session.createQueue("HelloWorld");

            //创建消息消费者

            messageConsumer = session.createConsumer(destination);

            while (true) {

TextMessage textMessage = (TextMessage) messageConsumer.receive(100000);

                if(textMessage !=null){

System.out.println("收到的消息:" + textMessage.getText());

                }else {

break;

                }

}

}catch (JMSException e) {

e.printStackTrace();

        }

}

}

上一篇下一篇

猜你喜欢

热点阅读