SpringBoot对消息的支持

Spring对消息系统提供了扩展支持,使用jmsTemplate简化jmsAPI,实现一个异步接收消息的底层实现。
SpringAMPQ高级消息队列协议特征集
SpringBoot为rabbittemplate提供了自动化配置
Springwebsocket提供了原生的stomp消息支持,
SpringBoot提供了starter和自动化配置

回顾一下jms
这里写图片描述
ConnectionFactory 提供了用于创建Connection的方法,
Connection用于和jms交互broker交互,
而Spring依赖于上层消息的抽象,不直接使用ConnectionFactory.
SpringBoot自动配置发送和接收消息需要的设施(infrastructure).

对ActiveMQ支持
自动发现,自动配置,内嵌代理
关于配置
通过spring.activemq.*来制定url user passwd 默认端口9876

Artemis支持成立于2015年 HernetQ
这个好像用的不多

HernetQ

JNDI
如果应用运行在服务器中,SpringBoot 会使用JNDI定位一个ConnectionFactory
默认检查java/JmsXA和java:/XAConnectionFacotory两个地址,
如果需要制定替换地址使用spring.jms.jndi.name属性替换

JmsTemplate会被自动配置,直接注入到自己的beans就可以使用
如果定义了DestinationResolver或者MessageConverter会自动关联到jmstemplate

当jms基础设施可以使用时,任何的bean都可以被@jmsListener注解,创建一个监听者端点。
如果没有定义JmsListenerContainerFactory,会自动配置一个默认的
默认factory是事务性的。

关于自定义配置 后面再用代码具体实现。
如果想创建一个监听容器可以覆盖DefaultJMSListenerContainerFactoryConfiger接口

Amqp
RabbitMq基于ampq协议轻量级,可靠地,可扩展的,可移植性的消息代理,Spring使用它进行消息传递5672
Spring的ampqteplate和ampqadmin自动配置 ,可直接注入
在这就是关于Listener和容器的自定义修改

调用远程REST
RESTtmplate需要自定义,并没有自己配置
自动配置的RestTmplateBuilder来创建RestTmplate实例

认证支持builder.basicAuthorization(“user”,”pwd”).build添加认证支持

自定义RestTmplate后续再更新