一篇文章教你将JAVA的RabbitMQz与SpringBoot整合

以下是一篇文章教你将Java的RabbitMQ与Spring Boot整合的完整攻略,包含两个示例说明。

示例1:简单队列模式

步骤1:添加依赖

在pom.xml文件中添加以下依赖:

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-amqp</artifactId>
</dependency>

步骤2:配置文件

在application.properties文件中添加以下配置:

spring.rabbitmq.host=localhost
spring.rabbitmq.port=5672
spring.rabbitmq.username=guest
spring.rabbitmq.password=guest

步骤3:发送消息

import org.springframework.amqp.rabbit.core.RabbitTemplate;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.CommandLineRunner;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
public class Producer implements CommandLineRunner {

    @Autowired
    private RabbitTemplate rabbitTemplate;

    public static void main(String[] args) {
        SpringApplication.run(Producer.class, args);
    }

    @Override
    public void run(String... args) throws Exception {
        String message = "Hello World!";
        rabbitTemplate.convertAndSend("my_queue", message);
        System.out.println("Message sent: " + message);
    }
}

步骤4:接收消息

import org.springframework.amqp.rabbit.annotation.RabbitListener;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
public class Consumer {

    public static void main(String[] args) {
        SpringApplication.run(Consumer.class, args);
    }

    @RabbitListener(queues = "my_queue")
    public void receiveMessage(String message) {
        System.out.println("Message received: " + message);
    }
}

步骤5:运行程序

运行发送消息的程序后,您将看到以下输出:

Message sent: Hello World!

运行接收消息的程序后,您将看到以下输出:

Message received: Hello World!

示例2:工作队列模式

步骤1:添加依赖

同示例1。

步骤2:配置文件

同示例1。

步骤3:发送消息

import org.springframework.amqp.rabbit.core.RabbitTemplate;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.CommandLineRunner;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
public class Producer implements CommandLineRunner {

    @Autowired
    private RabbitTemplate rabbitTemplate;

    public static void main(String[] args) {
        SpringApplication.run(Producer.class, args);
    }

    @Override
    public void run(String... args) throws Exception {
        for (int i = 1; i <= 10; i++) {
            String message = "Message " + i;
            rabbitTemplate.convertAndSend("my_queue", message);
            System.out.println("Message sent: " + message);
        }
    }
}

步骤4:接收消息

import org.springframework.amqp.rabbit.annotation.RabbitListener;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
public class Consumer {

    public static void main(String[] args) {
        SpringApplication.run(Consumer.class, args);
    }

    @RabbitListener(queues = "my_queue")
    public void receiveMessage(String message) throws InterruptedException {
        System.out.println("Message received: " + message);
        Thread.sleep(5000);
        System.out.println("Message processed");
    }
}

步骤5:运行程序

运行发送消息的程序后,您将看到以下输出:

Message sent: Message 1
Message sent: Message 2
Message sent: Message 3
Message sent: Message 4
Message sent: Message 5
Message sent: Message 6
Message sent: Message 7
Message sent: Message 8
Message sent: Message 9
Message sent: Message 10

运行接收消息的程序后,您将看到以下输出:

Message received: Message 1
Message received: Message 2
Message received: Message 3
Message received: Message 4
Message received: Message 5
Message received: Message 6
Message received: Message 7
Message received: Message 8
Message received: Message 9
Message received: Message 10
Message processed
Message processed
Message processed
Message processed
Message processed
Message processed
Message processed
Message processed
Message processed
Message processed

以上就是一篇文章教你将Java的RabbitMQ与Spring Boot整合的完整攻略,包含两个示例说明。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:一篇文章教你将JAVA的RabbitMQz与SpringBoot整合 - Python技术站

(0)
上一篇 2023年5月15日
下一篇 2023年5月15日

相关文章

  • Springboot 整合RabbitMq(用心看完这一篇就够了)

    Springboot 整合RabbitMq(用心看完这一篇就够了) RabbitMQ 是一个开源的消息队列系统,支持多种消息递协议。在 RabbitMQ 中,多种消息模型可以用于不同的场。本文将详细讲解 SpringBoot 整合 RabbitMQ 的完整攻略,并提供两个示例说明。 环境准备 在开始之前,需要确保已经安装了以下环境: JDK 1.8 或以上版…

    RabbitMQ 2023年5月15日
    00
  • springboot实现rabbitmq的队列初始化和绑定

    以下是Spring Boot实现RabbitMQ的队列初始化和绑定的完整攻略,包含两个示例说明。 示例1:简单队列模式 步骤1:添加依赖 在pom.xml文件中添加以下依赖: <dependency> <groupId>org.springframework.boot</groupId> <artifactId&gt…

    RabbitMQ 2023年5月15日
    00
  • Python实现RabbitMQ6种消息模型的示例代码

    RabbitMQ是一个开源的消息代理软件,它实现了高级消息队列协议(AMQP)并支持多种消息模型。在本文中,我们将详细讲解如何使用Python实现RabbitMQ的6种消息模型。我们将提供两个示例,分别是发布/订阅模型和RPC模型。 RabbitMQ基本概念 在使用RabbitMQ前,需要了解一些基本概念: 生产者(Producer):发送消息的应用程序。 …

    RabbitMQ 2023年5月15日
    00
  • Docker Compose 搭建简单的Python网络应用程序(步骤详解)

    以下是“Docker Compose 搭建简单的Python网络应用程序(步骤详解)”的完整攻略,包含两个示例。 简介 Docker Compose是一款用于定义和运行多个Docker容器的工具,常用于搭建复杂的应用程序。本攻略将详细讲解如何使用Docker Compose搭建简单的Python网络应用程序,包括编写Dockerfile文件、编写docker…

    RabbitMQ 2023年5月15日
    00
  • 前端与RabbitMQ实时消息推送未读消息小红点实现示例

    以下是前端与RabbitMQ实时消息推送未读消息小红点实现示例的完整攻略,包含两个示例说明。 示例1:使用WebSocket实现实时消息推送 步骤1:添加依赖 在pom.xml文件中添加以下依赖: <dependency> <groupId>org.springframework.boot</groupId> <ar…

    RabbitMQ 2023年5月15日
    00
  • 如果淘宝的七天自动确认收货让你设计你用Java怎么实现

    以下是“如果淘宝的七天自动确认收货让你设计你用Java怎么实现”的完整攻略,包含两个示例。 简介 淘宝的七天自动确认收货是一种自动化确认收货的机制,可以提高用户的购物体验和卖家的服务质量。本攻略将介绍如何使用Java实现淘宝的七天自动确认收货。 示例1:使用Java实现淘宝的七天自动确认收货 以下是使用Java实现淘宝的七天自动确认收货的示例: 获取订单列表…

    RabbitMQ 2023年5月15日
    00
  • Django+Celery实现定时任务的示例

    以下是“Django+Celery实现定时任务的示例”的完整攻略,包含两个示例。 简介 在本攻略中,我们将详细讲解如何使用Django和Celery实现定时任务。通过攻略的学习,您将了解Django和Celery的基本概念、如何配置Django和Celery、如何编写定时任务以及如何优化Django和Celery应用。 示例一:配置Django和Celery…

    RabbitMQ 2023年5月15日
    00
  • 如何理解软件系统的高并发

    以下是“如何理解软件系统的高并发”的完整攻略,包含两个示例。 简介 在本攻略中,我们将介绍如何理解软件系统的高并发。通过攻略的学习,您将了解高并发的基本概念、如何评估系统的并发能力以及如何优化系统的并发能力。 示例一:评估系统的并发能力 以下是评估系统的并发能力的示例: 确定并发量 在评估系统的并发能力时,我们需要确定系统的并发量。并发量是指在同一时间内访问…

    RabbitMQ 2023年5月15日
    00
合作推广
合作推广
分享本页
返回顶部