建站平台工具,初中生编程入门先学什么,中文域名到期对网站的影响,网上商城网站源码1.异步消息的定义异步消息的主要目的是为了系统与系统之间的通信#xff0c;所谓异步消息即消息发送者无需等待消息接收者的处理以及返回#xff0c;甚至无需关心消息是否发送成功。在异步消息中有两个很重要的概念#xff0c;即消息代理和目的地#xff0c;当消息发送者发… 1.异步消息的定义异步消息的主要目的是为了系统与系统之间的通信所谓异步消息即消息发送者无需等待消息接收者的处理以及返回甚至无需关心消息是否发送成功。在异步消息中有两个很重要的概念即消息代理和目的地当消息发送者发送消息之后消息将由消息代理接管消息代理保证消息传递到指定目的地。异步消息主要有两种目的地形式队列(queue)和主题(topic)队列用于点对点形式的消息通信主题用于发布订阅式的消息通信。1.1目的地形式分类1.1.1点对点式当消息发送者发送消息消息代理将消息后将消息放进一个队列里当有消息接收者来接收消息的时候消息将从队列中取出传递给消息接收者这时候队列里就没有了这条消息。点对点式确保每一条消息只有唯一的发送者和接收者但这并不能说明只有一个接收者能够从队列中接收消息因为队列中有多个消息点对点式只保证每一条消息只有唯一的发送者和接收者。1.1.2发布/订阅式发布订阅式是消息发送者发送消息到主题而多个消息接收者监听这个主题此时的消息发送者和接收者分别叫做发布者和订阅者。1.2 企业级消息代理JMS即JAVA消息服务是基于JVM的消息代理规范ActiveMQ是一个JMS的实现AMQP也是一个消息代理的规范他不仅兼容JMS还支持跨语言和平台AMQP的主要实现是RabbitMQ。1.3 Spring以及SpringBoot的支持Spring针对JMS和RabbitMQ分别提供了JmsTemplete和RabbitTemplete来发送消息。为我们提供了JmsListener,RabbitListener注解来监听消息代理发送的消息。我们分别需要通过EnableJms和EnableRabbit来开启支持。SpringBoot自动配置了上述EnableJmsEnableRabbitJmsTempleteRabbitTemplete的支持同时我们可以在application.properties文件中分别以spring.activemq和spring.rabbitmq来分别配置所需的属性。2.SpringBoot对JMS(ActiveMQ)的支持下载安装ActiveMQ的官方下载地址http://activemq.apache.org/download.html下载安装完成后进入bin目录发现有win32和win64两个文件夹这2个文件夹分别对应windows32位和windows64位操作系统的启动脚本。进入对应的文件夹中双击activemq.bat。即可正常启动。访问http://localhost:8161/admin。输入默认的用户名和密码admin/admin即可进入ActiveMQ的控制台。2.2 配置SpringBoot提供了针对ActiveMQ的支持只需要在pom.xml文件中引入即可dependency在application.properties配置ActiveMQ的消息代理地址:t:61616注意此处配置的消息代理必须让ActiveMQ启动时才有作用否则无效。在实际情况下消息的发布者和接受者一般都是分开的而这里我们仅作测试将消息发送者和接收者放在一个程序中。2.3代码文件2.3.1消息定义public 2.3.2消息发送及目的地定义SpringBootApplicationCommandLineRunner接口中的run方法是在程序启动后就会执行的代码。JmsTemplate 是用来操作JMS消息的操作类。2.3.3消息监听ComponentJmsListener显示的定义了指定要监听的目的地。2.3.4运行结果运行结果显示监听收到了消息ActiveMQ的控制台中显示我们发送的消息3.SpringBoot对AMQP(RabbitMQ)的支持3.1RabbitMQ的安装配置RabbitMQ是基于Erlang语言开发的。所以安装RabbitMQ之前需要先下载安装配置Erlang下载地址http://www.erlang.org/downloads并将安装后的D:\Program Files\erl9.0\bin的bin目录配置到path环境变量中。然后下载安装RabbitMQ。下载地址:http://www.rabbitmq.com/download.html安装完成之后在开始菜单中找到RabbitMQ Command Promt打开控制台输入命令rabbitmq-plugins enable rabbitmq_management控制台无错误之后访问http://localhost:15672。使用默认的用户名/密码guest/guest进行登录。即可见到如图所示界面3.2 RabbitMQ测试代码文件SpringBoot默认Rabbit的主机为localhost端口号为5672所以我们无需为RabbitMQ配置其他信息。入口文件import org.springframework.amqp.core.Queue;接收类Component3.3 测试结果在RabbitMQ控制台中额可以看到4 小结这里主要是对ActiveMQ和RabbitMQ进行了简单的尝试了解了异步消息的通信。有兴趣的同学可以进行深入研究。作者微瞰技术出处csdn.net/u011342403/article/details/77940765