041-ActiveMQ

JMS(Java Message Service)即Java消息服务,是基于JVM消息代理的规范,而ActiveMQ是一个JMS消息代理的实现。


安装

ActiveMQ可以通过官网安装包进行安装,这是普通的方式。如果测试或者练习使用,还有简单的安装方式,如docker:

docker run -dit -p 61616:61616 -p 8161:8161 cloudesire/activemq

安装好后打开 http://localhost:8161  就可以看到管理界面,默认用户名密码是  admin/admin。


或者通过内嵌方式:

041-ActiveMQ_第1张图片

注意,默认的activemq依赖spring-boot-starter-activemq包含了上面的内嵌方式,所以如果使用内嵌方式可以不加activemq-broker依赖。



实战

下面开始写代码,首先创建项目:

041-ActiveMQ_第2张图片


然后配置activemq服务(本次使用docker安装):


启动类不做任何改变,增加一个配置类,配置一个消息队列:

041-ActiveMQ_第3张图片


定义消息发送者,向这个队列发消息:

041-ActiveMQ_第4张图片


监听这个队列,实时打印接到的消息:

041-ActiveMQ_第5张图片


最后定义一个控制器发送消息:

041-ActiveMQ_第6张图片

启动项目,执行接口:

041-ActiveMQ_第7张图片
041-ActiveMQ_第8张图片

可以看到接收和发送消息成功!


上面是连接的docker的消息服务,下面使用内嵌模式,改为内嵌模式非常简单,代码不用做任何改动,把上面的activemq的配置全部去掉:

这样就可以了,然后重启项目,

041-ActiveMQ_第9张图片

可以看到控制台内容变了,显示了连接默认的消息服务。

重新访问发送消息的接口,发送依然没有问题:

041-ActiveMQ_第10张图片
041-ActiveMQ_第11张图片

内嵌方式很适合学习或者测试使用,但是不建议在生产环境使用。




代码地址: https://gitee.com/blueses/spring-boot-demo

你可能感兴趣的:(041-ActiveMQ)