小结
这两天过一下springboot中的一些东西,居然看到有结合队列的内容,顺便拿来学一下。但是感觉自己学+做之后,掌握还是不太到位,具体是哪里不到位,是流程吗,还是操作细节。MQ就是消息缓存中间件,为了避免同步执行导致浪费之间,很多时候只需要把主流程执行完,这个任务就算完成,类似于下单结算和下单之后的短信通知,两个业务可以分开,降低了服务器压力,松耦合。同时也提高了系统的处理能力。
代码01
消息发送实现类
@ServicepublicclassMessageServiceActiveImplimplementsMessageService{@AutowiredprivateJmsMessagingTemplate messagingTemplate;@OverridepublicvoidsendMessage(String id){System.out.println("待发送短信的订单已纳入队列:id:"+id); messagingTemplate.convertAndSend("order.queue.id",id);}@OverridepublicStringdoMessage(){String id= messagingTemplate.receiveAndConvert("order.queue.id",String.class);System.out.println("已完成短信发送业务。id:"+ id);return id;}}
监听器
@ComponentpublicclassMessagerListener{@JmsListener(destination="order.queue.id")@SendTo("order.other.queue.demo")publicStringreceive(String id){System.out.println("已完成短信发送业务,id"+id);return"new"+id;}}
依赖pom.xml
<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-activemq</artifactId><version>2.5.4</version></dependency>
配置文件yaml
server:port:9300spring:activemq:broker-url: tcp://localhost:61616jms:template:default-destination: itheimapub-sub-domain:true
此外就是通过两个控制器的接口,利用postman发送请求,进行调用。
这两天另外找时间去优化下自己以前写的代码,试试java8stream流写法。
整理清除业务逻辑,降低后期运维成本。
爱自己,come on!
git地址
git@gitee.com:shenjhhh/black-horse-spring-boot2-black.git
热门文章
- Vue项目中添加一些独立的静态资源(内嵌独立静态页面等)
- typescript环境搭建及编译运行
- 佳雯宠物医院几点开门营业(佳雯宠物医院环城西路)
- 1月7日|V2ray/Clash/SSR/Shadowrocket每天更新22.8M/S免费节点订阅链接,付费节点订阅推荐
- 动物疫苗的种类和研发过程包括哪些内容和方法(动物疫苗的生产原料有哪些,如何取得)
- 属马养猫运气会变差吗(属马的能养猫咪吗)
- 宠物领养合同违约金3000合法吗知乎 宠物领养合同违约金3000合法吗知乎
- 【java】关于sc.hasNext()在while语句中的使用
- 12月20日|Clash/V2ray/SSR/Shadowrocket每天更新20.8M/S免费节点订阅链接,付费节点订阅推荐
- 起重葫芦品牌 手拉葫芦什么牌子好用点(起重葫芦品牌 手拉葫芦什么牌子好用)