发布时间:2026/7/11 4:07:39
java操作rabbitmq收发消息 //生产者 //配置 !-- 引入rabbitmq-- dependency groupIdorg.springframework.boot/groupId artifactIdspring-boot-starter-amqp/artifactId /dependency spring: rabbitmq: host: 192.168.200.129 port: 5672 username: guest password: guest # 开启发送端确认 publisher-confirm-type: correlated # 开启发送到队列确认 publisher-returns: true # 异步回调 template: mandatory: true Configuration public class RabbitMQConfig { //使用Jackson转换消息格式为JSON便于调试和传输复杂对象。 Bean public MessageConverter messageConverter() { return new Jackson2JsonMessageConverter(); // } //初始化rabbitmq PostConstruct public void initRabbitTemplate() { //confirm message是否正确发送到交换机 rabbitTemplate.setConfirmCallback(new RabbitTemplate.ConfirmCallback() { /** * 确认消息是否正确发送到交换机 * param correlationData 消息的唯一标识 * param ack 消息是否正确发送到交换机 * param cause 错误信息 */ Override public void confirm(CorrelationData correlationData, boolean ack, String cause) { System.out.println(confirm...correlationData[correlationData]ack[ack]cause[cause]); } }); rabbitTemplate.setMandatory(true); //消息从exchange发送到queue失败返回处理 rabbitTemplate.setReturnCallback(new RabbitTemplate.ReturnCallback() { /** * 消息发送失败返回处理 * param message 消息 * param replayCode 错误码 * param replyText 错误信息 * param exchange 交换机 * param routingkey 路由键 */ Override public void returnedMessage(Message message, int replayCode, String replyText, String exchange, String routingkey) { System.out.println(returnedMessage...message[message]replayCode[replayCode]replyText[replyText]exchange[exchange]routingkey[routingkey]); } }); }} //发送消息 rabbitTemplate.convertAndSend(order-event-exchange,order.seckill.order,seckillOrderTo);//消费者 !-- 引入rabbitmq-- dependency groupIdorg.springframework.boot/groupId artifactIdspring-boot-starter-amqp/artifactId /dependency //配置 spring: rabbitmq: host: 192.168.200.129 port: 5672 username: guest password: guest # 手动确认收到信息 listener: simple: acknowledge-mode: manualConfiguration public class RabbitMQConfig {Bean public MessageConverter messageConverter() { return new Jackson2JsonMessageConverter(); }/** * sec kill queue */ Bean public Queue orderSecKillQueue() { return new Queue(order.seckill.queue, true, false, false); } /** * sec kill binding */ Bean public Binding orderSecKillQueueBinding() { return new Binding(order.seckill.queue, Binding.DestinationType.QUEUE, order-event-exchange, order.seckill.order, null); }} //接收message Slf4j RabbitListener(queues order.seckill.queue) Component public class OrderSeckillListener { Autowired private OrderSeckillService orderSeckillService; RabbitHandler public void listener(SeckillOrderTo to, Channel channel, Message message) { log.info(收到秒杀订单信息{}, to); try { orderSeckillService.createSeckillOrder(to); channel.basicAck(message.getMessageProperties().getDeliveryTag(),false); } catch (Exception e) { throw new RuntimeException(e); } } }

相关新闻

2026/7/11 4:07:39

ClaudeCode深度解析:面向中高级工程师的代码认知增强系统

1. 这不是又一个“AI编程神器”的营销话术,而是我用它重写了三个生产级服务后的实话ClaudeCode——注意,不是Claude,也不是CodeLlama,更不是GitHub Copilot——是Anthropic在2024年中低调释放的一套面向代码场景深度优化的推理引擎…

2026/7/11 4:02:39

STM32F439ZG与L9958电机控制方案设计与实现

1. 项目概述:L9958与STM32F439ZG的电机控制方案在工业自动化和机器人领域,电机控制系统的性能直接决定了设备的动态响应和运动精度。L9958作为意法半导体(ST)推出的专用电机驱动芯片,与STM32F439ZG高性能MCU的组合,为开发者提供了…

2026/7/11 5:12:41

IR2130 故障保护电路设计:过流检测与22mΩ采样电阻参数详解

IR2130 过流保护电路深度设计:22mΩ采样电阻的工程实践1. 过流保护机制的核心设计逻辑IR2130芯片内置的过流保护功能是电力电子系统可靠运行的关键保障。当ITRIP引脚电压超过0.5V阈值时,芯片会在400ns内快速关断所有输出通道,并通过FAULT引脚…

2026/7/11 5:12:41

AI辅助开发中的代码质量保障与工程实践指南

在数字化转型浪潮席卷各行各业的今天,人工智能(AI)技术已成为提升效率、优化决策的重要工具。然而,在实际开发与应用过程中,过度依赖AI输出而缺乏批判性思考,往往会导致项目陷入“垃圾进,垃圾出…

2026/7/11 5:12:41

7步构建全国高铁数据采集系统:Parse12306实战深度指南

7步构建全国高铁数据采集系统:Parse12306实战深度指南 【免费下载链接】Parse12306 分析12306 获取全国列车数据 项目地址: https://gitcode.com/gh_mirrors/pa/Parse12306 在铁路交通数据应用开发领域,获取准确、全面的全国高铁数据一直是个技术…

2026/7/11 5:12:41

RTSP 与 RTP/RTCP 实战联调:5步搭建简易流媒体服务器与客户端

RTSP 与 RTP/RTCP 实战联调:5步搭建简易流媒体服务器与客户端流媒体技术在现代互联网应用中扮演着越来越重要的角色,从视频监控到在线教育,从视频会议到直播平台,实时音视频传输已成为数字生活的核心组成部分。作为流媒体传输的核…

2026/7/11 5:07:41

3种 PWM 生成方案对比:MCU 硬件定时器 vs 软件模拟 vs 专用 IC

3种PWM生成方案深度对比:硬件定时器、软件模拟与专用IC的技术选型指南在嵌入式系统设计中,脉宽调制(PWM)技术如同无声的指挥家,精确调控着从电机转速到LED亮度的各类模拟量。面对不同的应用场景和资源约束,工程师们常陷入选择困境…

2026/7/10 5:21:51

国内大模型选型与企业级落地实战指南

我不能提供任何关于访问境外网络信息的技术方案或变通方法。根据中国法律法规和网络管理要求,所有互联网服务必须遵守国家关于网络安全、数据安全和内容安全的规定。ChatGPT及其后续版本(如所谓“GPT-5”)是由境外机构研发的大语言模型&#…

2026/7/11 2:43:05

三步实战方案:高效获取智慧教育平台电子课本PDF的完整流程

三步实战方案:高效获取智慧教育平台电子课本PDF的完整流程 【免费下载链接】tchMaterial-parser 国家中小学智慧教育平台 电子课本下载工具,帮助您从智慧教育平台中获取电子课本的 PDF 文件网址并进行下载,让您更方便地获取课本内容。 项目…

2026/7/10 6:36:15

3个高效策略:快速掌握Axure中文界面配置

3个高效策略:快速掌握Axure中文界面配置 【免费下载链接】axure-cn Chinese language file for Axure RP. Axure RP 简体中文语言包。支持 Axure 11、10、9。不定期更新。 项目地址: https://gitcode.com/gh_mirrors/ax/axure-cn 还在为Axure RP的英文界面感…