sublime Text 是代码编辑器,不运行 java 或 spring Boot,rabbitmq 生产者与消费者依赖 Java 代码、客户端依赖及 RabbitMQ 服务;需配置服务、依赖、插件和构建系统,再编写符合规范的生产者、消费者或 spring boot 风格代码。

sublime text 本身不运行 Java 或 Spring Boot,它只是个代码编辑器。真正实现 RabbitMQ 生产者与消费者,靠的是你写的 Java 代码 + RabbitMQ 客户端依赖 + RabbitMQ 服务。Sublime 的作用是帮你高效写、看、组织这些代码——只要配置好语法高亮和构建系统,完全能胜任。
Sublime 中写 RabbitMQ 代码的关键准备
确保你已具备以下基础条件,Sublime 才能发挥效用:
- 本地或远程有正常运行的 RabbitMQ 服务(默认地址 localhost:5672,管理界面 :15672)
- 项目中已引入客户端依赖:maven 用
com.rabbitmq:amqp-client,Spring Boot 用spring-boot-starter-amqp - Sublime 已安装 Package Control,并装好 JavaSyntaxHighlighting 和 BracketHighlighter 插件(提升可读性)
- 若需一键编译运行,可配置 Sublime 的 Build System(如调用
javac+java,或委托给 Maven 命令)
生产者代码结构(原生 AMQP 客户端示例)
在 Sublime 中新建 Producer.java,写入标准连接-声明队列-发消息流程:
- 使用
ConnectionFactory设置 host/port/vhost/username/password -
channel.queueDeclare("order_queue", true, false, false, NULL)—— 推荐设 durable=true,避免重启丢数据 - 发送时用
channel.basicPublish("", "order_queue", null, message.getBytes())(简单模式直连队列) - 注意:每条消息发完后,不要立即 close channel/connection,高并发场景应复用连接
消费者代码要点(监听与确认)
新建 Consumer.java,核心是注册回调并正确处理 ACK:
- 同样先建立 connection 和 channel,声明相同队列(参数必须一致,尤其是 durable)
- 用
channel.basicConsume("order_queue", false, consumer),第二个参数设为 false 表示手动 ACK - 在
handleDelivery回调里处理业务逻辑,成功后调用channel.basicAck(envelope.getDeliveryTag(), false) - 异常时建议
basicNack并设置requeue=false,防止死循环消费失败消息
Spring Boot 风格更省心(推荐日常开发)
如果你用 Spring Boot,在 Sublime 里写 @RabbitListener(queues = "order_queue") 方法即可自动监听:
- 配置类中定义
Queue、DirectExchange、Binding三件套 - 生产者注入
RabbitTemplate,调convertAndSend(exchange, routingKey, msg) - 消费者方法加注解,参数可直接接收 String / jsON 对象(配合
MessageConverter) - Sublime 只需开启 Spring Boot Snippets 插件,就能快速补全常用注解和配置项
基本上就这些。Sublime 不参与运行,但写得清楚、结构对、参数准,RabbitMQ 的异步解耦效果才能稳稳落地。