最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Java編寫簡易rabbitmq生產(chǎn)者與消費者的代碼

 更新時間:2023年11月13日 15:08:52   作者:追逐夢想永不停  
開發(fā)時經(jīng)常與其它系統(tǒng)用rabbitmq對接,當需要自測時,還是自己寫rabbitmq生產(chǎn)者、消費者自測方便些,下面給大家總結(jié)使用java編寫簡易rabbitmq的方法,感興趣的朋友一起看看吧

一、前言

開發(fā)時經(jīng)常與其它系統(tǒng)用rabbitmq對接,當需要自測時,還是自己寫rabbitmq生產(chǎn)者、消費者自測方便些。

下面總結(jié)下不用框架、使用java編寫簡易rabbitmq的方法。

二、代碼

1.導入jar包

(1)如果是maven,那就用

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

(2)如果沒用maven,那就找一個amqp-client-3.3.4.jar文件,然后引入項目

2.生產(chǎn)者代碼

package RABBIT_MQ;
import com.rabbitmq.client.*;
import java.io.IOException;
import java.util.concurrent.TimeoutException;
public class RabbitMQSender {
    //交換機
    private final static String exchange_name = "x.mySys.test";
    //路由鍵
    private final static String route_key = "topmess";
    public static void main(String[] args) throws IOException, TimeoutException {
        //定義一個鏈接工廠
        ConnectionFactory connectionFactory = new ConnectionFactory();
        //設置服務地址
        connectionFactory .setHost("10.123.123.123");
        //設定端口
        connectionFactory .setPort(5673);
        //設定用戶名
        connectionFactory .setUsername("myuser");
        //設定密碼
        connectionFactory .setPassword("mypass");
        //設定虛擬機
        connectionFactory .setVirtualHost("my_host");
        //從mq工具類獲取連接信息
        Connection connection = connectionFactory.newConnection();
        //獲取一個通道
        Channel channel = connection.createChannel();
        String message = "Hello World!";
        channel.basicPublish(exchange_name, route_key, null, message.getBytes());
        System.out.println("運行完畢,已發(fā)送消息【" + message + "】");
        channel.close();
        connection.close();
    }
}

說明:
(1)其中的配置,按照自己的rabbitmq配置更改
(2)生產(chǎn)者配置了交換機名與路由鍵

3.消費者代碼

package RABBIT_MQ;
import java.io.IOException;
import java.util.concurrent.TimeoutException;
import com.rabbitmq.client.AMQP;
import com.rabbitmq.client.Channel;
import com.rabbitmq.client.Connection;
import com.rabbitmq.client.ConnectionFactory;
import com.rabbitmq.client.DefaultConsumer;
import com.rabbitmq.client.Envelope;
public class RabbitMQReceiver {
    private static String queue_name="q.mySys.test";
    public static void main(String[] args) throws IOException, TimeoutException {
        //定義一個鏈接工廠
        ConnectionFactory connectionFactory = new ConnectionFactory();
        //設置服務地址
        connectionFactory .setHost("10.123.123.123");
        //設定端口
        connectionFactory .setPort(5673);
        //設定用戶名
        connectionFactory .setUsername("myuser");
        //設定密碼
        connectionFactory .setPassword("mypass");
        //設定虛擬機
        connectionFactory .setVirtualHost("my_host");
        //從mq工具類獲取連接信息
        Connection connection = connectionFactory.newConnection();
        //獲取一個通道
        Channel channel = connection.createChannel();
        //監(jiān)聽該隊列,false代表手動確認
        channel.basicConsume(queue_name,false,new DefaultConsumer(channel){
            public void handleDelivery(String consumerTag, Envelope envelope, AMQP.BasicProperties basicProperties, byte[] body) throws IOException{
                System.out.println("接收到的消息:"+ new String(body,"UTF-8"));
            }
        });
        System.out.println("運行完畢,等待mq接收消息");
    }
}

說明:
(1)其中的配置,按照自己的rabbitmq配置更改
(2)消費者配置了監(jiān)聽隊列
(3)消費者啟動后一直開啟,除非手動關閉項目運行

到此這篇關于Java編寫簡易rabbitmq生產(chǎn)者與消費者的文章就介紹到這了,更多相關Java rabbitmq生產(chǎn)者與消費者內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • Spring報錯:Error creating bean with name的問題及解決

    Spring報錯:Error creating bean with name的問

    這篇文章主要介紹了Spring報錯:Error creating bean with name的問題及解決方案,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-08-08
  • java實現(xiàn)掃雷游戲入門程序

    java實現(xiàn)掃雷游戲入門程序

    這篇文章主要為大家詳細介紹了java實現(xiàn)掃雷游戲入門程序,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-06-06
  • Java中對象的轉(zhuǎn)移之序列化與反序列化方式

    Java中對象的轉(zhuǎn)移之序列化與反序列化方式

    文章介紹了序列化與反序列化的定義和實現(xiàn)流程,重點闡述了Java中的序列化與反序列化實現(xiàn),包括Serializable接口、Externalizable接口、transient關鍵字等,并指出了Java原生序列化的缺點及替代方案FastJson和Protobuf,最終總結(jié)了選擇不同序列化工具的場景和優(yōu)勢
    2026-05-05
  • springboot如何讀取配置文件(application.yml)中的屬性值

    springboot如何讀取配置文件(application.yml)中的屬性值

    本篇文章主要介紹了springboot如何讀取配置文件(application.yml)中的屬性值,具有一定的參考價值,有興趣的小伙伴可以了解一下
    2017-04-04
  • 淺談mybatis-plus批量保存異常及效率優(yōu)化

    淺談mybatis-plus批量保存異常及效率優(yōu)化

    本文主要介紹了mybatis-plus批量保存異常及效率優(yōu)化,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2024-01-01
  • Spring Boot啟動加載流程自動配置的底層原理(專家解讀)

    Spring Boot啟動加載流程自動配置的底層原理(專家解讀)

    Spring Boot這么少的配置卻能實現(xiàn)如此豐富的功能?為何啟動一個Spring Boot應用可以變得如此簡單便捷?在這個看似平凡的啟動過程中,其實隱藏著一套精妙的自動化機制和源碼邏輯,本文將帶你深入探索 Spring Boot 的啟動流程,逐步揭開自動配置的幕后奧秘
    2026-01-01
  • Java數(shù)據(jù)結(jié)構之線性表

    Java數(shù)據(jù)結(jié)構之線性表

    線性表是其組成元素間具有線性關系的一種數(shù)據(jù)結(jié)構,對線性表的基本操作主要有,獲取元素,設置元素值,遍歷,插入,刪除,查找,替換,排序等。而線性表可以采用順序儲存結(jié)構和鏈式儲存結(jié)構,本節(jié)主要講解順序表、單鏈表以及雙鏈表的各種基本操作。
    2017-03-03
  • JVM中的守護線程示例詳解

    JVM中的守護線程示例詳解

    這篇文章主要給大家介紹了關于JVM中守護線程的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-01-01
  • Java GUI進階之流式布局管理器FlowLayout專項精講

    Java GUI進階之流式布局管理器FlowLayout專項精講

    FlowLayout-流式布局管理器,按水平方向依次排列放置組件,排滿一行,換下一行繼續(xù)排列。排列方向(左到右 或 右到左)取決于容器的componentOrientation屬性
    2022-04-04
  • Java SPI機制及Springboot的使用實例代碼

    Java SPI機制及Springboot的使用實例代碼

    這篇文章主要介紹了Java SPI機制及Springboot的使用實例代碼,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2025-05-05

最新評論

富蕴县| 南漳县| 通海县| 金寨县| 青岛市| 泰安市| 龙陵县| 临湘市| 绩溪县| 枞阳县| 孙吴县| 红安县| 青阳县| 临城县| 克拉玛依市| 黄陵县| 邢台县| 临沧市| 岑巩县| 中江县| 资阳市| 河池市| 恩平市| 赤城县| 城口县| 葫芦岛市| 台中县| 鲜城| 潼南县| 屯留县| 普安县| 胶州市| 屯昌县| 布尔津县| 栖霞市| 迭部县| 谷城县| 陇南市| 金乡县| 万盛区| 淳安县|