当前位置: 首页 > wzjs >正文

做酒店管理网站的作用北京建设网站的公司哪家好

做酒店管理网站的作用,北京建设网站的公司哪家好,网站建设客户管理系统,公司网页打不开是什么原因一、环境准备 安装 RabbitMQ 在官网上下载对应操作系统的安装包(如 Windows、Linux 等),按照安装向导完成安装。 安装完成后,启动 RabbitMQ 服务。在 Windows 系统下,可以在服务列表中找到 RabbitMQ Server 并启动&am…

一、环境准备

  1. 安装 RabbitMQ

    • 在官网上下载对应操作系统的安装包(如 Windows、Linux 等),按照安装向导完成安装。

    • 安装完成后,启动 RabbitMQ 服务。在 Windows 系统下,可以在服务列表中找到 RabbitMQ Server 并启动;在 Linux 系统下,可以通过命令行启动,例如使用 systemctl start rabbitmq-server(具体命令可能因 Linux 发行版而异)。

    • 默认情况下,RabbitMQ 使用 5672 端口进行通信。可以通过浏览器访问 http://localhost:15672(默认用户名和密码是 guest/guest)来访问 RabbitMQ 的管理界面,查看队列、交换机等信息。

  2. 添加 Spring Boot 依赖

    • 在 Spring Boot 项目的 pom.xml 文件中添加 RabbitMQ 相关依赖。例如:

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

      这个依赖会自动引入 RabbitMQ 的客户端库以及 Spring AMQP(高级消息队列协议)相关的模块,方便我们在 Spring Boot 中操作 RabbitMQ。

二、配置 RabbitMQ

  1. 在 application.properties 或 application.yml 文件中配置

    • application.properties 示

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

      这里配置了 RabbitMQ 服务器的地址、端口以及登录的用户名和密码。如果 RabbitMQ 服务器部署在其他机器上,需要将 localhost 替换为对应的 IP 地址。

    • application.yml 示例

      spring:rabbitmq:host: localhostport: 5672username: guestpassword: guest
  2. 高级配置(可选)

    • 连接池配置 如果应用需要频繁地与 RabbitMQ 交互,可以通过配置连接池来提高性能。例如

      spring.rabbitmq.listener.simple.concurrency=3
      spring.rabbitmq.listener.simple.max-concurrency=10

      这里设置了消费者线程池的最小线程数为 3,最大线程数为 10,可以根据实际业务需求调整这些参数。

    • 消息确认机制配置 为了确保消息可靠地发送到 RabbitMQ 服务器,可以开启消息确认机制

      spring.rabbitmq.publisher-confirms=true

      当消息成功发送到 RabbitMQ 服务器后,服务器会发送确认消息给生产者。

三、生产者代码实现

  1. 创建 RabbitMQ 配置类(可选)

    • 如果需要自定义一些 RabbitMQ 的配置,如交换机、队列等,可以创建一个配置类。例如

      import org.springframework.amqp.core.*;
      import org.springframework.context.annotation.Bean;
      import org.springframework.context.annotation.Configuration;@Configuration
      public class RabbitMQConfig {// 定义队列@Beanpublic Queue myQueue() {return new Queue("myQueue", true); // 第二个参数表示是否持久化}// 定义交换机@Beanpublic DirectExchange myExchange() {return new DirectExchange("myExchange", true, false);}// 绑定队列和交换机@Beanpublic Binding myBinding() {return BindingBuilder.bind(myQueue()).to(myExchange()).with("myRoutingKey");}
      }

      在这个例子中,定义了一个名为 myQueue 的队列、一个名为 myExchange 的直连交换机(DirectExchange),并通过路由键 myRoutingKey 将队列绑定到交换机。

  2. 创建生产者类

    • 使用 RabbitTemplate 来发送消息。例如:

      import org.springframework.amqp.rabbit.core.RabbitTemplate;
      import org.springframework.beans.factory.annotation.Autowired;
      import org.springframework.stereotype.Component;@Component
      public class RabbitMQProducer {@Autowiredprivate RabbitTemplate rabbitTemplate;public void sendMessage(String message) {rabbitTemplate.convertAndSend("myExchange", "myRoutingKey", message);}
      }

      在这个例子中,通过调用 sendMessage 方法,将消息发送到名为 myExchange 的交换机,并指定路由键为 myRoutingKey。RabbitMQ 会根据路由键将消息路由到对应的队列。

四、消费者代码实现

  1. 创建消费者类

    • 使用 @RabbitListener 注解来监听队列中的消息。例如:

      import org.springframework.amqp.rabbit.annotation.RabbitListener;
      import org.springframework.stereotype.Component;@Component
      public class RabbitMQConsumer {@RabbitListener(queues = "myQueue")public void receiveMessage(String message) {System.out.println("Received message: " + message);}
      }

      在这个例子中,RabbitListener 注解指定了要监听的队列名为 myQueue。当有消息到达该队列时,receiveMessage 方法会被调用,并打印接收到的消息。

  2. 手动确认消息(可选)

    • 默认情况下,Spring Boot 使用自动确认模式,即消费者接收到消息后,RabbitMQ 会自动认为消息已被成功处理。如果需要手动确认消息,可以在配置类中设置:

      spring.rabbitmq.listener.simple.acknowledge-mode=manual

      然后在消费者代码中,通过 Channel 手动确认消息:

      import org.springframework.amqp.rabbit.annotation.RabbitListener;
      import org.springframework.amqp.rabbit.core.RabbitTemplate;
      import org.springframework.stereotype.Component;
      import com.rabbitmq.client.Channel;@Component
      public class RabbitMQConsumer {@RabbitListener(queues = "myQueue")public void receiveMessage(String message, Channel channel, @Header(AmqpHeaders.DELIVERY_TAG) long tag) throws Exception {System.out.println("Received message: " + message);// 手动确认消息channel.basicAck(tag, false);}
      }

      在这个例子中,通过 ChannelbasicAck 方法手动确认消息。如果消息处理失败,可以调用 basicNack 方法拒绝消息。

五、测试

  1. 启动项目

    • 启动 Spring Boot 项目,确保 RabbitMQ 服务也在运行。

  2. 发送消息

    • 在代码中调用生产者类的 sendMessage 方法,发送一条消息。例如:

      @SpringBootApplication
      public class RabbitMQApplication {public static void main(String[] args) {ConfigurableApplicationContext context = SpringApplication.run(RabbitMQApplication.class, args);RabbitMQProducer producer = context.getBean(RabbitMQProducer.class);producer.sendMessage("Hello, RabbitMQ!");}
      }
  3. 查看消费者输出

    • 观察消费者类的控制台输出,确认是否成功接收到消息。如果一切正常,应该能看到类似以下的输出:

      Received message: Hello, RabbitMQ!

通过以上步骤,就可以完成 Spring Boot 整合 RabbitMQ 的基本操作,实现消息的发送和接收。

http://www.dtcms.com/wzjs/564659.html

相关文章:

  • 手机版的学习网站php婚庆网站
  • 网站空间的控制面板首页品牌名称怎么取
  • 做一个公司的网站应做哪些准备工作内容九江做网站的公司
  • 问答网站开发坪地网站建设效果
  • 做网站先付款seo网页优化公司
  • 五种常用的网站推广方法seo网络推广培训
  • 加猛挣钱免费做网站软件网站免费大全
  • 写作的网站有哪些客户关系管理系统的特点
  • 网站源码下载wordpress academy
  • 制作哪个网站好免费自助建站系统
  • 企业做网站的多吗贵阳网站关键字优化
  • 福州网站网页设计祁东县建设局网站
  • 台州网站建设方案优化《网站平台建设》课程实训
  • 网站改版htmlnodejs适合网站开发
  • 邹平做网站的公司有哪些商务网站开发的的基本流程
  • 特别酷炫网站怎么维护网站
  • 大连手机网站制作网站建设四网合一
  • 中国建设银行青海分行网站免费策划方案平台
  • 做货代用的网站哪里有做网站优化的公司
  • 凯里市住房和城乡建设局网站做期货到哪个网站看新闻
  • 做的网站怎样打开速度快企业网站的一般要素包括
  • wordpress pc站m站微信网站怎样做
  • 网站做301将重定向到新域名wordpress做线下交易
  • 网站开发平台目录自适应平台网站
  • 外贸网站建站系统wordpress样式丢失
  • 目前网站开发怎么兼顾手机外贸推广主要做什么
  • 标准论坛网站建设上海网站建设市场分析
  • 跳转网站怎么做深圳比较好的vi设计公司
  • 织梦技校招生网网站模板整站源码上市公司的信息网站
  • 韶关网站建设公司门户网站是