訊息佇列RabbitMQ學習筆記之簡單的訊息收發

2021-09-25 16:02:52 字數 1669 閱讀 1821

// 佇列名稱

final string queue_name = "rabbitmq_test";

/** * connection是socket連線的抽象,並且為我們管理協議版本協商(protocol version negotiation),認證(authentication )等等事情。

*/connectionfactory factory = new connectionfactory();

// 主機ip

factory.sethost("127.0.0.1");

// 埠號,預設5672

factory.setport(5672);

// 使用者名稱

factory.setusername("user");

// 密碼

factory.setpassword("password");

// 設定虛擬主機(相當於資料庫中的庫)

factory.setvirtualhost("虛擬主機111");

connection connection = factory.newconnection();

channel channe = connection.createchannel();

/** * 建立乙個channel,絕大部分api方法需要通過呼叫它來完成,

* 傳送之前,我們必須宣告訊息要發往哪個佇列,然後我們可以向佇列發一條訊息

*/channe.queuedeclare(queue_name, false, false, false, null);

string message = "蟲洞空間研發團隊測試訊息傳送帶事務...";

try catch (exception e)

} finally

1.獲取鏈結

根據主機ip,埠,虛擬主機,以及使用者名稱和密碼獲取對應的鏈結

2.根據鏈結建立通道

3.宣告佇列

4.訊息生產

// 佇列名稱

final string queue_name = "rabbitmq_test";

connectionfactory factory = new connectionfactory();

factory.sethost("127.0.0.1");

factory.setport(5672);

factory.setusername("user");

factory.setpassword("password");

factory.setvirtualhost("虛擬主機111");

connection connection = factory.newconnection();

channel channel = connection.createchannel();

// channel.queuedeclare(queue_name, false, false, false, null);

system.out.println("啟動中介軟體");

consumer consumer = new defaultconsumer(channel)

};channel.basicconsume(queue_name, true, consumer);

訊息佇列Rabbitmq

rabbitmq server rabbitmqctl reset rabbitmqctl stop rabbitmqctl stop rabbitmqctl list users rabbitmqctl list queues rabbitmqctl add user user name user...

訊息佇列RabbitMQ

這是乙個很嚴肅的問題。系統之間解除耦合,可以讓不同語言編寫的系統通訊互動 保證伺服器負載不會飆公升。高大上一點就是流量削峰。讓程式變成非同步,提高響應速度。把費時任務放到另乙個程序或執行緒去執行。redis實現 剛開始學習redis時,一看這個鍊錶不就是給佇列準備的嗎?所以,一心扎進去,要寫個佇列出...

RabbitMQ訊息佇列

訊息發布接收流程 接收訊息 工作模式 publish subscribe 發布訂閱模式 發布訂閱publish subscribe和工作模式work queues的區別 routing 路由模式 區別 topics 區別 header 宣告佇列 bean queue inform sms publi...