1. 引用依賴
<dependency
>
<
groupid
>com.rabbitmq
groupid
>
<
artifactid
>amqp-client
artifactid
>
<
version
>5.1.2
version
>
dependency
>
2. 連線mq
publicstatic connection getconnection() throws
exception
3. 傳送訊息
實現方式1:最基礎的方法訊息方法,只需要指定佇列,不填寫交換機名稱會使用mq預設的。
publicstatic
void sendmessage(string message) throws
exception
實現方式2:指定交換機型別fanout
publicstatic
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 接收訊息
預設接收方式
publicstatic
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...