java操作rabbitmq实现简单的消息发送(socket编程的升级)

这篇具有很好参考价值的文章主要介绍了java操作rabbitmq实现简单的消息发送(socket编程的升级)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

准备:

  1.下载rabbitmq并搭建环境(和python那篇一样:http://www.cnblogs.com/g177w/p/8176797.html)

  2.下载支持的jar包(http://repo1.maven.org/maven2/com/rabbitmq/amqp-client)

生产者方(Productor.java):

 1 package RabbitMQTest;
 2 
 3 
 4 import java.util.HashMap;
 5 import java.util.Map;
 6 
 7 import com.rabbitmq.client.AMQP.Queue;
 8 import com.rabbitmq.client.Channel;
 9 import com.rabbitmq.client.Connection;
10 import com.rabbitmq.client.ConnectionFactory;
11 
12 public class Productor {
13 public static String QUEUE_NAME = "STEVEN";
14 public static void main(String[] args) {
15     //初始化socket链接
16     ConnectionFactory factory = new ConnectionFactory(); 
17     //指定链接地址
18     factory.setHost("localhost");
19     try{
20     //建立程序和rabbitmq的socket连接
21     Connection connection = factory.newConnection();
22     //创建管道
23     Channel channel = connection.createChannel();
24     //声明队列
25     channel.queueDeclare(QUEUE_NAME,false,false,false,null);
26     //让当前线程睡眠8s,以检验rabbitmq的消息轮询
27     Thread.currentThread().sleep(8000);
28     String message = "hello,world";
29     //发送消息
30     channel.basicPublish("", QUEUE_NAME, null, message.getBytes());
31     System.out.println("[x] send the message"+message);
32     channel.close();
33     connection.close();
34     }catch (Exception e) {
35         System.out.println("程序出错:"+e);
36     }
37     
38 }
39 }

View Code

消费者方(Consummer.java):文章来源地址https://www.toymoban.com/news/detail-405299.html

 1 package RabbitMQTest;
 2 import com.rabbitmq.client.Connection;
 3 import com.rabbitmq.client.Channel;
 4 import com.rabbitmq.client.ConnectionFactory;
 5 import com.rabbitmq.client.QueueingConsumer;
 6 import com.rabbitmq.client.QueueingConsumer.Delivery;
 7 /**
 8  * 本程序为了练习rabbitmq的简单操作
 9  * 
10  * @author STEVEN
11  * 
12  */
13 public class Consumer {
14     public static void main(String[] args) {
15         try {
16             //创建连接工厂对象
17             ConnectionFactory factory = new ConnectionFactory();
18             //设置工厂对象的参数,用来连接rabbitmq
19             factory.setHost("localhost");
20             //建立程序与rabbitmq的socket连接
21             Connection connection = factory.newConnection();
22             //创建管道
23             Channel channel = connection.createChannel();
24             //声明队列
25             channel.queueDeclare(Productor.QUEUE_NAME, false, false, false, null);
26             System.out.println(" [*] Waiting for messages. To exit press CTRL+C");
27             //创建队列消费对象
28             QueueingConsumer consumer = new QueueingConsumer(channel);
29             //设置参数
30             channel.basicConsume(Productor.QUEUE_NAME, true, consumer);
31             //创建接收对象来接收来自服务端的消息
32             Delivery delivery = null;
33             //循环接收,相当于开启了一个监听
34             while (true) {
35                 delivery = consumer.nextDelivery();
36                 String message = new String(delivery.getBody());
37                 System.out.println(" [x] Received '" + message + "'");
38             }
39         } catch (Exception e) {
40             System.out.println(e);
41         }
42     }
43 }

到了这里,关于java操作rabbitmq实现简单的消息发送(socket编程的升级)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 如何使用 Java 发送消息到 RabbitMQ 中的队列

    RabbitMQ是一个强大的消息队列中间件,可以实现高效的消息传递和解耦。在实际应用中,我们还可以使用更多高级特性,如消息持久化、消息确认机制、消息路由策略等,以满足复杂的业务需求。本文将介绍如何在Spring Boot应用程序中集成RabbitMQ,并实现一个简单的消息发送和

    2024年03月14日
    浏览(34)
  • springboot整合rabbitmq 实现消息发送和消费

    Spring Boot提供了RabbitMQ的自动化配置,使得整合RabbitMQ变得非常容易。 首先,需要在pom.xml文件中引入amqp-client和spring-boot-starter-amqp依赖: 接下来需要在application.properties文件中配置RabbitMQ连接信息: 然后编写消息发送者: 其中,my-exchange和my-routing-key是需要自己定义的交换机和

    2024年02月07日
    浏览(31)
  • 「RabbitMQ」实现消息确认机制以确保消息的可靠发送、接收和拒收

    目录 介绍 方案 配置手动确认 使用 「Bean 」 配置RabbitMQ的属性 确定消费、拒绝消费、拒绝消费进入死信队列 模拟生产者发送消息①         RabbitMQ 的消息确认机制应用场景非常广泛,尤其是在需要确保消息可靠性和避免消息丢失的场合下更为重要,例如:金融系统、电

    2024年02月08日
    浏览(28)
  • RabbitMQ+springboot用延迟插件实现延迟消息的发送

    延迟队列:其实就是死信队列中消息过期的特殊情况 延迟队列应用场景: 可以用死信队列来实现,不过死信队列要等上一个消息消费成功,才会进行下一个消息的消费,这时候就需要用到延迟插件了,不过要线在docker上装一个插件 前置条件是在Docker中部署过RabbitMq。 1、打开

    2024年02月10日
    浏览(35)
  • Java RabbitMQ消息队列简单使用

    消息队列,即MQ,Message Queue。 消息队列是典型的:生产者、消费者模型。生产者不断向消息队列中生产消息,消费者不断的从队列中获取消息。因为消息的生产和消费都是异步的,而且只关心消息的发送和接收,没有业务逻辑的侵入,这样就实现了生产者和消费者的解耦。

    2024年02月12日
    浏览(44)
  • 207、SpringBoot 整合 RabbitMQ 实现消息的发送 与 接收(监听器)

    1、ContentUtil 先定义常量 2、RabbitMQConfig 创建队列的两种方式之一: 配置式: 在容器中配置 org.springframework.amqp.core.Queue 类型的Bean,RabbitMQ将会自动为该Bean创建对应的队列。 就是在配置类中创建一个生成消息队列的@Bean。 问题: 用 @Configuration 注解声明为配置类,但是项目启动

    2024年02月06日
    浏览(39)
  • SpringBoot 2.2.5 整合RabbitMQ,实现Topic主题模式的消息发送及消费

    1、simple简单模式 消息产生着§将消息放入队列 消息的消费者(consumer) 监听(while) 消息队列,如果队列中有消息,就消费掉,消息被拿走后,自动从队列中删除(隐患 消息可能没有被消费者正确处理,已经从队列中消失了,造成消息的丢失)应用场景:聊天(中间有一个过度的服务器;p端,c端

    2024年02月02日
    浏览(37)
  • Socket编程接口API并实现简单的TCP网络编程

    #include sys/types.h #include sys/socket.h socket()创建套接字,成功返回套接字的文件描述符,失败返回-1 domain: 设置套接字的协议簇, AF_UNIX AF_INET AF_INET6 type: 设置套接字的服务类型 SOCK_STREAM SOCK_DGRAM protocol: 一般设置为 0,表示使用默认协议 int socket(int domain, int type, int protocol); bind()将

    2024年02月13日
    浏览(30)
  • java socket Server TCP服务端向指定客户端发送消息;可查看、断开指定连接的客户端;以及设置客户端最大可连接数量。

    首先需要知道java里如何创建一个Socket服务器端。 提示:注意server.accept()方法调用会阻塞,只有新的客户端连接后才返回一个新的socket对象。如果一直未连接那么会一直处于阻塞状态 了解了如何创建一个socket服务器端后。那么如何实现给指定的连接客户端发送消息呢?首先我

    2024年02月11日
    浏览(46)
  • TP5简单使用RabbitMQ实现消息队列

    在使用 RabbitMQ 之前,你要安装好 RabbitMQ 服务,具体安装方法可以参考 windows下安装RabbitMQ 1、安装扩展 进入TP5 更目录下,输入命令安装: composer require php-amqplib/php-amqplib 2、自定义命令 TP5 的自定义命令,这里也简单说下。 第一步: 创建命令类文件,新建 application/api/command

    2024年02月07日
    浏览(39)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包