RabbitMQ學習總結 2 API的使用

2022-07-01 04:09:08 字數 2006 閱讀 4370

1. 引用依賴

<

dependency

>

<

groupid

>com.rabbitmq

groupid

>

<

artifactid

>amqp-client

artifactid

>

<

version

>5.1.2

version

>

dependency

>

2. 連線mq

public

static connection getconnection() throws

exception

3. 傳送訊息

實現方式1:最基礎的方法訊息方法,只需要指定佇列,不填寫交換機名稱會使用mq預設的。

public

static

void sendmessage(string message) throws

exception

實現方式2:指定交換機型別fanout

public

static

void sendmessage(string message) throws

exception

實現方式3:指定交換機型別direct,其他**跟上面一樣,只是builtinexchangetype型別不同,繫結佇列時需要填寫routingkey

channel.exchangedeclare("exchangetest2", builtinexchangetype.direct);

//交換機與佇列繫結

//引數1:佇列名稱

//引數2:交換機名稱

//引數3:繫結佇列的routingkey路由鍵,direct,routingkey是必填的

channel.queuebind("queue1", "exchangetest2", "info.user");

channel.queuebind("queue2", "exchangetest2", "error.user");

實現方式4:執行交換機型別topic,routingkey是模糊匹配的

channel.exchangedeclare("exchangetest3", builtinexchangetype.topic);

//交換機與佇列繫結

//匹配debug開頭,user結尾,中間隨機的路由鍵

channel.queuebind("queue1", "exchangetest3", "debug.*.user");

//匹配所有error開頭的所有路由鍵

channel.queuebind("queue2", "exchangetest3", "error.#");

//匹配中斷是email,前後段隨機的路由鍵

channel.queuebind("queue3", "exchangetest3", "*.email.*");

2.4 接收訊息

預設接收方式

public

static

void getmessage() throws

exception

};//開始消費。指定消費佇列的名稱,繫結消費者

//引數1-queue:消費通道名稱

//引數2-autoack:自動訊息確認開關,預設是false,false狀態需要手動確認消費訊息

//引數3-callback:消費物件

channel.basicconsume("queue1", false

, consumer);

//消費者是不需要關閉連線的,因為要一直監聽

}

Rabbit MQ學習總結

1,獲取conection 2,獲取channel 3,定義exchange,queue 4,使用乙個routingkey將queue binding到乙個exchange上 5,通過指定乙個exchange和乙個routingkey來將訊息傳送到對應的queue上,6,接收方在接收時也是獲取con...

RabbitMQ學習筆記 2

由乙個生產者進行生產,經由訊息佇列,被多個消費者消費。傳送端 如下 public class newtask 接收端 如下 public class worker public static void main string args throws exceptioncatch interrupte...

學習總結2

一 資料拷貝 1.char資料型別在記憶體中是以整數儲存的 範圍是0 65535 每乙個整數對映乙個字元。2.byte short char這三種變數一旦參與運算,則編譯器 將運算的結果轉換為int 因為編譯器將參與運算的byte short char當作了int eg byte b1 1 byte...