linux 安装actrive mq,ActiveMQ学习之增加NIO通讯协议

一、修改activemq.xml

1、进入到activemq的安装目录下

2、进入conf文件夹中

3、对activemq.xml文件进行编辑

4、增加NIO协议

d9b07a2ec90e626e59d96c8368f50410.png

5、保存并退出

二、启动activemq(正常启动就可以)

三、生产者

import org.apache.activemq.ActiveMQConnectionFactory;

import javax.jms.*;

/**

* @ProjectName: springbootActiveMQ

* @Package: cn.**.test

* @Author: huat

* @Date: 2020/1/2 17:04

* @Version: 1.0

*/

public class ActiveMQTest {

//url路径

private static final String ACTRIVE_URL="nio://192.168.44.135:61618";

//队列名称

private static final String QUEUE_NAME="queue01";

public static void main(String[] args) {

//1、创建连接工厂

//如果账号密码没有修改的话,账号密码默认均为admin

ActiveMQConnectionFactory activeMQConnectionFactory=new ActiveMQConnectionFactory(ACTRIVE_URL);

//如果账号密码修改的话

//第一个参数为账号,第二个为密码,第三个为请求的url

//ActiveMQConnectionFactory activeMQConnectionFactory1=new ActiveMQConnectionFactory("admin","admin",ACTRIVE_URL);

try {

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

Connection connection = activeMQConnectionFactory.createConnection();

connection.start();

//3、创建session会话

//里面会有两个参数,第一个为事物,第二个是签收

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

//4、创建目的地(具体是队列还是主题),这里是创建队列

Queue queue=session.createQueue(QUEUE_NAME);

//5、创建消息生产者

MessageProducer messageProducer = session.createProducer(queue);

//6、通过messageProducer生产三条消息发送到MQ消息队列中

for (int i=0;i<3;i++){

//7、创建消息

TextMessage textMessage = session.createTextMessage("msg----->" + i);//创建一个文本消息

//8、通过messageProducer发送给mq

messageProducer.send(textMessage);

}

messageProducer.close();

session.close();

connection.close();

System.out.println("消息发送成功");

} catch (JMSException e) {

e.printStackTrace();

}

}

}

四、消费者

import org.apache.activemq.ActiveMQConnectionFactory;

import javax.jms.*;

/**

* @ProjectName: springbootActiveMQ

* @Package: cn.**.test

* @Author: huat

* @Date: 2020/1/3 8:47

* @Version: 1.0

*/

public class ActiveMQConsumer {

//url路径

private static final String ACTRIVE_URL="nio://192.168.44.135:61618";

//队列名称

private static final String QUEUE_NAME="queue01";

public static void main(String[] args) {

//1、创建连接工厂

//如果账号密码没有修改的话,账号密码默认均为admin

ActiveMQConnectionFactory activeMQConnectionFactory=new ActiveMQConnectionFactory(ACTRIVE_URL);

//如果账号密码修改的话

//第一个参数为账号,第二个为密码,第三个为请求的url

//ActiveMQConnectionFactory activeMQConnectionFactory1=new ActiveMQConnectionFactory("admin","admin",ACTRIVE_URL);

try {

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

Connection connection = activeMQConnectionFactory.createConnection();

connection.start();

//3、创建session会话

//里面会有两个参数,第一个为事物,第二个是签收

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

//4、这里接受的queue的名称要和发送者的一致

Queue queue = session.createQueue(QUEUE_NAME);

//5、创建消费者

MessageConsumer consumer = session.createConsumer(queue);

//6、获取消息

while(true){

//MessageConsumer 调用的receive方法为同步调用,在消息到达之前一直阻塞线程

//用什么格式发送,这里就用什么格式接受

//receive等待消息,不限制时间

TextMessage message=(TextMessage)consumer.receive();

//receive带参数等待消息,限制时间,单位毫秒

//TextMessage message=(TextMessage)consumer.receive(4000L);

if(null != message){

System.out.println("接受的消息为------>"+message.getText());

}else{

break;

}

}

//7、闭资源

consumer.close();

session.close();

connection.close();

}catch (Exception e){

e.printStackTrace();

}

}

}

文章来源: www.oschina.net,作者:冥焱,版权归原作者所有,如需转载,请联系作者。

原文链接:https://my.oschina.net/u/3535099/blog/3161287

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值