在上一章接里面讲了activemq的安装 ,这一节我们讲一下消息的生产者和消费者:
代码结构如下:
首先我们设置一个公共类,配置为:
# activemq
## 配置消息的类型,true:topic消息,false:Queue消息
#jms.pub-sub-domain=false
## 用户名
activemq.user=admin
## 密码
activemq.password=admin
## 连接主机
activemq.broker-url=tcp://192.168.33.10:61616
## 是否信任所有包
activemq.packages.trust-all=true
消费者的代码如下:
@Service
public class MqQueueConsumerOne {
@JmsListener(destination = ActiveMQConstants.QUEUE_NAME , containerFactory = "queueListenerFactory")
public void receiveQueueMessage(String message){
System.out.println("MqQueueConsumerOne ---> receiveQueueMessage:接收队列模式发送的消息,内容为:" + message);
}
}
生产者的代码如下 :
@RestController
@RequestMapping("queue")
public class MqQueueController {
@Autowired
private MqQueueProducer mqQueueProducer;
@RequestMapping("/send")
@ResponseBody
public String sendMqQueueProducer(){
try {
mqQueueProducer.sendQueueMessage();
return "success";
} catch (Exception e) {
e.printStackTrace();
return "fial";
}
}
}
@Service
public class MqQueueProducer {
@Autowired
private QueueUtil queueUtil;
public void sendQueueMessage(){
queueUtil.send(ActiveMQConstants.QUEUE_NAME,"注意啦lch发送队列消息啦");
}
}
启动消费者/生产者项目 :
通过接口发送:
查看消费:
通过后台的管理界面可以看到队列发送的消息:
通过命令消费 消息:
消费:
sudo ./activemq consumer queue://foo.bar --messageCount 1 --clientId vagrant-37314-1626579367569-4:1:1:1:1 --durable true --bytesAsText true
可以看到手动发送的已经消费掉了!
上面已经介绍了activemq使用队列生产和消费,关于activemq更多介绍参考官网。