开始
订单的消息需要重复的发送,重复的消费,这样就需要定时任务,对订单状态进行巡检,使用定时任务的框架。
实战
基于orderService。现在这里面搭建,开发和调试完成后,再打包出来。 其他所有的服务去引用就可以了。
增加config的包,然后增加配置类。
创建ConnectionFactory
首先需要创建connectionFactory的Bean,先创建CachingConnectionFactory然后设置它的ip地址、端口等。这些是链接的属性。这些我们以前是硬编码到代码里面的。
写到配置文件内。用@Value注解去配置文件内的配置节点。
端口号应该是个int类型的
开启发送确认机制。这里为什么用Correlated是因为发送者确认,接收回来的有关你发送消息的成功还是失败的,消息的id参数。我们要知道哪一条消息被确认了,所以这里要有Correlated参数。
消息返回:消息无法路由的时候。
打开消息返回。
加上Bean的注解,交给Spring去管理
配置RabbitAdmin
打开AutoStartup后,就会自动的在spring容器里面搜索所有有关 queue、
exchange、binding的bean。会自动去声明他们,不需要再手动的去声明。
设置监听的容器ContainerFactory
Container是持有消息的监听者。
所以这里就可以设置有关消息监听的各种参数。
设置并发的消费者为3.有几个消费者待命。
最大并发消费者
设置为手动的ack
rabbitTemplate
也是需要ConnectionFactory作为入参。
设置消息的返回和发送者确认的回调。
打开托管
设置发送者返回
alt+回车键,改成莱姆达表达式的形式
我们没有业务逻辑先打印日志出来
alt+回车,同样改成莱姆达表达式的形式。
打印日志。打印日志这里,如果用加号的话,会先拼,拼进去再判断log的级别要不要打,用大括号做占位的话, 会先判断这个log级别要不要打,在高log级别的时候,会有效的节约系统的资源
这里少个逗号,补上