SpringBoot快速整合RabbitMq小案例

打印 上一主题 下一主题

主题 887|帖子 887|积分 2661

对于一个直接创建的springBoot项目工程来说,可以按照以下步骤使用rabbitmq

  • 添加依赖:添加rabbitMQ的依赖。
  1. <dependency>
  2.    <groupId>org.springframework.boot</groupId>
  3.    <artifactId>spring-boot-starter-amqp</artifactId>
  4. </dependency>
复制代码

  • 配置连接:在配置文件中配置虚拟主机、端口号、用户名、密码等信息。
  1. spring:
  2.   rabbitmq:
  3.     host: localhost
  4.     port: 5672
  5.     virtual-host: {你的虚拟主机}
  6.     username: {你的用户名}
  7.     password: {你的密码}
复制代码

  • 创建生产者:导入对应依赖后,使用rabbitTemplate,并调用convertAndSend来发送消息。
  1. @Autowired
  2. private RabbitTemplate rabbitTemplate;
  3. public void sendMessage(String message) {
  4.     rabbitTemplate.convertAndSend("exchangeName", "routingKey", message);
  5. }
复制代码
来发送消息。

  • 创建消费者:使用@RabbitListener注解在消息处理方法上,指定监听的队列名称,并在方法参数中接收消息。
  1. @RabbitListener(queues = "queueName")
  2. public void receiveMessage(String message) {
  3.     // 处理接收到的消息
  4.     System.out.println("Received message: " + message);
  5. }
复制代码

  • 编写配置类,使用@Bean注解在对应的方法上把方法的返回值(将队列,交换机等信息)交由spring管理。
  1. // 交换机名称
  2.     public static final String ITEM_TOPIC_EXCHANGE = "item_topic_exchange";
  3.     // 队列名称
  4.     public static final String ITEM_QUEUE = "item_queue";
  5.     //声明交换机
  6.     @Bean
  7.     public Exchange exchange(){
  8.         return ExchangeBuilder.topicExchange(ITEM_TOPIC_EXCHANGE).durable(true).build();
  9.     }
  10.     //声明队列
  11.     @Bean
  12.     public Queue queue(){
  13.         return QueueBuilder.durable(ITEM_QUEUE).build();
  14.     }
  15.     //队列绑定到交换机
  16.     @Bean
  17.     public Binding binding(Queue queue,Exchange exchange){
  18.         return BindingBuilder.bind(queue).to(exchange).with("item.#").noargs();
  19.     }
复制代码

  • 启动应用程序或者写测试类。
  1.     @Autowired
  2.     RabbitTemplate rabbitTemplate;
  3. @Test
  4.     public void testSendMessage(){
  5.         rabbitTemplate.convertAndSend(RabbitmqConfig.ITEM_TOPIC_EXCHANGE, "item.insert", "新增商品的消息~~");
  6.         System.out.println("消息发送成功");
  7.     }
复制代码
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

农妇山泉一亩田

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表