# hba-spring-rabbit **Repository Path**: wang522shuo/hba-spring-rabbit ## Basic Information - **Project Name**: hba-spring-rabbit - **Description**: 基于Spring AMQP封装的RabbitMq消息中间件方便开发版本,可用于生产环境 - **Primary Language**: Java - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 6 - **Forks**: 1 - **Created**: 2018-04-02 - **Last Updated**: 2021-08-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ## 生产者开发 消息的发送方只需要写以下代码,就可以实现消息的发送 @Autowired MessageProducer messageProducer; @Test public void SendTextTest() { try { messageProducer.sendMessage("mq.test2", person);//普通消息队列 // messageProducer.sendMessageWithDelay("mq.test2", person,5000);//延迟消息队列 } catch (Exception e) { System.out.println(e.getMessage()); } } MessageProducer需要通过Spring注入 sendMessage方法,第一个参数是队列的名称,第二个参数是消息实体。注:改方法还可以使用自定义交换器。 sendMessageWithDelay方法,第一个参数是队列的名称,第二个参数是消息的实体,第三个参数是延迟的时间,单位毫秒 ## 消费者开发 @Queuename(name="mq.test2",delay=true) public class MessageProcessTest implements IMessageProcess { @Override public void process(Person person) { System.out.println(person.getName()); System.out.println(person.getBirth()); System.out.println("1_Received <" + person + ">"); } } delay=true 是延迟消息 。使用延迟消息 ,务必加上此注解。 只要这点代码即可,下面详细讲述下: 在项目中spring配置文件下导入 1) 实现ImessageProcess接口,在process方法体内做消息的业务处理。 2) 加上@Queuename注解,name中写明对应的key(可理解为队列名),如果程序要消费多个不同的队列,那就再写多个这样的类,实现ImessageProcess。