首页 > 其他分享 >HelloWorld

HelloWorld

时间:2023-05-18 10:35:21浏览次数:36  
标签:String 队列 factory HelloWorld QUEUE public NAME

1.依赖

<dependency>
  <groupId>com.rabbitmq</groupId>
  <artifactId>amqp-client</artifactId>
  <version>5.8.0</version>
</dependency>

<dependency>
  <groupId>commons-io</groupId>
  <artifactId>commons-io</artifactId>
  <version>2.6</version>
</dependency>

2.生产者

public class Producer {

    public static final String QUEUE_NAME = "hello";

    public static void main(String[] args) throws Exception {
        ConnectionFactory factory = new ConnectionFactory();
        //连接RabbitMQ队列
        factory.setHost("127.0.0.1");
        //设置用户名 密码
        factory.setUsername("guest");
        factory.setPassword("guest");
        //创建连接
        Connection connection = factory.newConnection();
        //获取信道
        Channel channel = connection.createChannel();
        /**
         * 生成队列
         *  1.队列名称
         *  2.队列里面的消息是否持久化(磁盘) 默认在内存
         *  3.该队列是否只供一个消费者进行消费,是否进行消息共享
         *  4.是否自动删除 最后一个消费者断开连接以后 该队列是否删除
         *  5.其他参数
         */
        channel.queueDeclare(QUEUE_NAME, false, false, false,null);
        String message = "HW";
        /**
         * 发送一个消费
         * 1.发送到那个交换机
         * 2.路由的key 是队列的名称
         * 3.其他参数消息
         * 4.发送消息的消息体
         */
        channel.basicPublish("",QUEUE_NAME,null,message.getBytes(StandardCharsets.UTF_8));
        System.out.println("Success");
    }
}

3.消费者

public class Consumer {

    public static final String QUEUE_NAME = "hello";

    public static void main(String[] args) throws Exception {
        ConnectionFactory factory = new ConnectionFactory();
        //连接RabbitMQ队列
        factory.setHost("127.0.0.1");
        //设置用户名 密码
        factory.setUsername("guest");
        factory.setPassword("guest");
        //创建连接
        Connection connection = factory.newConnection();
        //获取信道
        Channel channel = connection.createChannel();

        /**
         * 接受消息
         *  1.消费那个队列
         *  2.消费成功之后是否要自动应答
         *  3.消费者未成功消费的回调
         *  4.取消消费的回调
         */

        //声明
        DeliverCallback deliverCallback = (counsumerTag , message) -> {
            System.out.println(new String(message.getBody()));
        };

        CancelCallback cancelCallback = counsumerTag -> {
            System.out.println("消息被中断");
        };

        channel.basicConsume(QUEUE_NAME, true, deliverCallback,cancelCallback);
    }
}

标签:String,队列,factory,HelloWorld,QUEUE,public,NAME
From: https://www.cnblogs.com/lwx11111/p/17411151.html

相关文章

  • Linux驱动开发笔记(三):基于ubuntu的helloworld驱动源码编写、makefile编写以及驱动编译
    前言  前面学习了驱动的基础框架,上一篇编译了gcc7.3.0,那么为了方便很好的熟悉流程,本篇,将使用ubuntu18.04,直接编译ubuntu18.04的驱动,然后做好本篇文章的相关实战测试。 Ubuntu虚拟机准备步骤一:安装虚拟机  本次使用之前rk3568的ubuntu18.04,笔者没有重新弄了,安装......
  • Linux驱动开发笔记(一):helloworld驱动源码编写、makefile编写以及驱动编译基本流程
    前言  基于linux的驱动开发学习笔记,本篇是描述了一个字符驱动的基础开发流程,以便做嵌入式开发多年的应用或者系统学习驱动开发。 笔者自身情况  笔者拥有硬件基础,单片机软硬基础,linux系统基础等各种,就是没有linux驱动框架基础,未做过linux系统移植和驱动移植开发了......
  • 用DOSBOX运行helloworld程序
    过程:编写---编译---连接---执行目录1,编写2,编译3,链接4,执行5,补充:简捷编译和链接1,编写下面是一段打印"helloworld!"的程序DSEGSEGMENTMESSDB'Hello,World!',0DH,0AH,24HDSEGENDSSSEGSEGMENTPARASTACKDW256DUP(?)SSEGENDSCSEGSEGME......
  • EJB3.0之HelloWorld
    开发工具:javaee版本的eclipse、JDK1.6、jboss5.0.0注意:jboss的路径不能有中文,否则会报错。新建ejb工程,选择jboss5和ejb3代码:packagecom.ejb;publicinterfaceHelloWorld{ publicStringsayHello(Stringname);}packagecom.ejb;importjavax.ejb.Remote;importjavax.e......
  • freemarker 与 servlet 之 Helloworld版本
    新建web工程,新建servlet类:packagecom.freemaker.servlet;importjava.io.IOException;importjava.io.PrintWriter;importjava.util.HashMap;importjava.util.Map;importjavax.servlet.ServletException;importjavax.servlet.http.HttpServlet;importjavax.servlet.......
  • 1 Go语言介绍、 2 Go开发环境搭建 、3 第一个helloworld 、4 变量命名规范 、5 变量的
    目录1Go语言介绍2Go开发环境搭建3第一个helloworld4变量命名规范5变量的定义和使用1Go语言介绍#Go语言介绍Go即Golang,是Google公司2009年11月正式对外公开的一门编程语言Go是【静态强类型】语言,是区别于解析型语言的编译型语言(静态:类型固定强类型:不同类型不允许直接......
  • Go语言介绍、Go开发环境搭建、第一个helloworld、变量命名规范、变量的定义和使用
    目录1Go语言介绍2Go开发环境搭建3第一个helloworld4变量命名规范5变量的定义和使用1Go语言介绍#Go语言介绍Go即Golang,是Google公司2009年11月正式对外公开的一门编程语言Go是【静态强类型】语言,是区别于解析型语言的编译型语言(静态:类型固定强类型:不同类型不允许直接......
  • Openharmony上如何运行HelloWorld
    Openharmony的第一个应用--Helloworld​ 大家都明白的HelloWorld的C++代码//FirstApp.cpp#include<iostream>intmain(intargc,char*argv[]){std::cout<<"HelloOpenharmony!"<<std::endl;return0;}问题来了,接下来如何将FirstApp.cpp加入Openh......
  • fastdds学习之2——Helloworld Demo
    本节详细介绍了如何使用C++API一步一步地创建一个简单的FastDDS应用程序,其中包含发布者和订阅者。也可以使用eProsimaFastDDSGen工具自行生成与本节中实现的示例类似的示例。在构建发布/订阅应用程序中解释了这种额外的方法,本例程在eProsimaFastDDSGithub仓库中,环境搭建完成......
  • Springboot-HelloWorld
    1.引入依赖<parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>2.3.4.RELEASE</version></parent><dependencies>......