欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

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

一、前言

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

下面總結下不用框架、使用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ù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • Mybatis三種批量插入數(shù)據(jù)的方式

    Mybatis三種批量插入數(shù)據(jù)的方式

    這篇文章主要介紹了Mybatis的三種批量插入方式,幫助大家更好的理解和學習使用Java,感興趣的朋友可以了解下
    2021-04-04
  • Java超詳細大文件分片上傳代碼

    Java超詳細大文件分片上傳代碼

    文件上傳是一個很常見的功能。在項目開發(fā)過程中,我們通常都會使用一些成熟的上傳組件來實現(xiàn)對應的功能,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧<BR>
    2022-06-06
  • 談談對Java多態(tài)性的一點理解

    談談對Java多態(tài)性的一點理解

    多態(tài)就是指程序中定義的引用變量所指向的具體類型和通過該引用變量發(fā)出的方法調(diào)用在編程時并不確定,而是在程序運行期間才確定,即一個引用變量倒底會指向哪個類的實例對象,該引用變量發(fā)出的方法調(diào)用到底是哪個類中實現(xiàn)的方法,必須在由程序運行期間才能決定
    2017-08-08
  • 如何基于Jenkins構建Docker鏡像

    如何基于Jenkins構建Docker鏡像

    這篇文章主要介紹了基于Jenkins構建Docker鏡像,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2019-11-11
  • Mybatis執(zhí)行SQL命令的流程分析

    Mybatis執(zhí)行SQL命令的流程分析

    這篇文章主要介紹了Mybatis執(zhí)行SQL命令的流程分析,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-04-04
  • 淺談java多線程 join方法以及優(yōu)先級方法

    淺談java多線程 join方法以及優(yōu)先級方法

    下面小編就為大家?guī)硪黄獪\談java多線程 join方法以及優(yōu)先級方法。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-01-01
  • SpringBoot訪問MongoDB數(shù)據(jù)庫的兩種方式

    SpringBoot訪問MongoDB數(shù)據(jù)庫的兩種方式

    MongoDB是一種非關系型數(shù)據(jù)庫,通過文檔存儲數(shù)據(jù),適用于大規(guī)模數(shù)據(jù)存儲和高并發(fā)訪問,這篇文章主要介紹了SpringBoot訪問MongoDB數(shù)據(jù)庫的兩種方式,感興趣想要詳細了解可以參考下文
    2023-05-05
  • Java中內(nèi)存分配的幾種方法

    Java中內(nèi)存分配的幾種方法

    本文主要介紹Java中幾種分配內(nèi)存的方法。我們會看到如何使用sun.misc.Unsafe來統(tǒng)一操作任意類型的內(nèi)存。以前用C語言開發(fā)的同學通常都希望能在Java中通過較底層的接口來操作內(nèi)存,他們一定會對本文中要講的內(nèi)容感興趣
    2014-03-03
  • Java結構型設計模式之橋接模式詳細講解

    Java結構型設計模式之橋接模式詳細講解

    橋接,顧名思義,就是用來連接兩個部分,使得兩個部分可以互相通訊。橋接模式將系統(tǒng)的抽象部分與實現(xiàn)部分分離解耦,使他們可以獨立的變化。本文通過示例詳細介紹了橋接模式的原理與使用,需要的可以參考一下
    2022-09-09
  • Kotlin中?StateFlow?或?SharedFlow?的區(qū)別解析

    Kotlin中?StateFlow?或?SharedFlow?的區(qū)別解析

    Kotlin協(xié)程中的StateFlow和SharedFlow是響應式數(shù)據(jù)流,分別用于UI狀態(tài)管理和事件通知,StateFlow有初始值,只保留最新值,適用于UI狀態(tài)管理;SharedFlow沒有初始值,可以配置緩存大小,適用于事件通知,感興趣的朋友一起看看吧
    2025-03-03

最新評論