【RabbitMQ基礎編程模型】

文章目錄

  • RabbitMQ基礎編程模型
    • 基礎編程模型
      • step1、首先創建連接,獲取Channel
      • step2、聲明Exchange-可選
      • step3、聲明queue
      • step4、聲明Exchange與Queue的綁定關系-可選

RabbitMQ基礎編程模型

RabbitMQ的使用生態已經相當龐大,支持非常多的業務場景,同時也提供了非常多的客戶端語言支持。
接下來我們只是通過Java語言來理解下要如何使用RabbitMQ。其他語言客戶端可以參考示例與官方文件,
自行了解。
使用RabbitMQ提供的原生客戶端API進行交互。這是使用RabbitMQ的基礎。

基礎編程模型

step1、首先創建連接,獲取Channel

通常情況下,我們在一個客戶端里都只是創建一個Channel就可以了,因為一個Channel只要不關閉,是
可以一直復用的。但是,如果你想要創建多個Channel,要注意一下Channel沖突的問題。
在創建channel時,可以在createChannel方法中傳入一個分配的int參數channelNumber。這個
ChannelNumber就會作為Channel的唯一標識。而RabbitMQ防止ChannelNumber重復的方式是:如果對
應的Channel沒有創建過,就會創建一個新的Channel。但是如果ChannelNumber已經創建過一個Channel
了,這時就會返回一個null。

step2、聲明Exchange-可選

Exchange在消息收發過程中是一個可選的步驟,如果要使用就需要先進行聲明。在聲明Exchange時需要
注意,如果Broker上沒有對應的Exchange,那么RabbitMQ會自動創建一個新的交換機。但是如果Broker上
已經有了這個Exchange,那么你聲明時的這些參數需要與Broker上的保持一致。如果不一致就會報錯。
聲明Exchange時可以填入很多參數,對這些參數,你不用死記。實際上這些參數,包括最后的
arguments中可以傳入哪些參數,在管理控制臺中都有。關鍵屬性在頁面上都有解釋。

step3、聲明queue

與Exchange一樣,如果你聲明的Queue在Broker上不存
在,RabbitMQ會創建一個新的隊列。但是如果Broker上已經有了這個隊列,那么聲明的屬性必須和Broker
上的隊列保持一致,否則也會報錯。
聲明Queue時,同樣大部分的參數是可以從管理平臺看到的。比如Durability,AutoDelete以及后面的
arguments參數可以傳哪些參數,都可以從頁面上看到。

step4、聲明Exchange與Queue的綁定關系-可選

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/209193.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/209193.shtml
英文地址,請注明出處:http://en.pswp.cn/news/209193.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

五、HotSpot細節實現

一、并發標記與三色標記 問題:三色標記到底發生在什么階段,替代了什么。并發標記 1、并發標記( Concurrent Marking) 從 GC Root 開始對堆中對象進行可達性分析,遞歸掃描整個堆里的對象圖,找出要回收的對象,這階段耗…

【大數據分析】

系列文章目錄 文章目錄 系列文章目錄前言一、數據分析框架二、數據分析方法1.數據清洗&數據探索2.數據清洗之異常值判別3.數據清洗之缺失值處理4.數據探索5.結構優化 三、大數據可視化1.大數據可視化概念1.1 定義1.2 數據可視化的意義 2.可視化類型和模型2.1 科學可視化2.2…

網站內容審核功能的重要性

網站內容審核功能的重要性在保護用戶權益、維護網站形象、遵守法律法規等方面都起到了至關重要的作用。 維護網站的合法性和道德性:網站內容審核功能的存在可以幫助過濾和刪除違法、淫穢、惡意、詐騙等不良內容,保證網站內容的合法性和道德性。 保護用…

前端部分知識點總結

小程序接口的通用協議是什么 小程序接口的通用協議是HTTPS。 小程序體驗版本打開后顯示空白,只有點擊"打開調試模式"再次打開才能顯示正常,原因是體驗版本的接口協議是HTTP,但小程序只認HTTPS,所以不會去調接口&#…

Python表單處理

目錄 通過Flask處理表單 通過Flask-WTF處理表單 通過Flask-WTF驗證表單 通過Flask處理表單 表單是在網頁中搜集用戶信息的各種表單控件的集合區域,表單控件包括文本框、單選框、復選框、提交按鈕等,用于實現客戶端和服務器端之間的數據交互。 利用F…

用Java寫一個拼圖游戲

目錄 運行出的游戲界面如下: User類 CodeUtil類 游戲設置 登陸代碼 注冊代碼 游戲代碼 運行出的游戲界面如下: 按住A不松開,顯示完整圖片;松開A顯示隨機打亂的圖片 User類 package domain;/*** ClassName: User* Author: Kox*…

AI人工智能和大模型(概念)之二

Pytorch的安裝 通過Anaconda安裝PyTorch更為便捷 張量:(1)Tensor可以是高維的(2)并非是PyTorch中才有的概念(3)PyTorch運算的基本單元(4)基礎數據定義和運算&#xff0…

【Windows】安裝 Apache服務 -- 實操詳細版

👨?🎓博主簡介 🏅云計算領域優質創作者 ??🏅華為云開發者社區專家博主 ??🏅阿里云開發者社區專家博主 💊交流社區:運維交流社區 歡迎大家的加入! 🐋 希望大家多多支…

使用Pytorch實現變分自編碼器

使用Pytorch實現變分自編碼器 可以結合這篇VAE講解文章閱讀這篇blog post代碼。 # Import necessary packages. import os import torch import torch.nn as nn import torch.nn.functional as F import torchvision from torchvision import transforms from torchvision.ut…

java打包到docker,以及idea遠程調試

這里主要介紹 dockerfile的打包方式 一、打包jar包到容器 1. 在要打包的項目中創建dockerfile,dockerfile與項目的pom.xml是同級 2. 編輯dockerfile文件 FROM openjdk:8 VOLUME ["/data/untitled"] COPY target/untitled-1.0.jar "/app.jar"…

人工智能技能要求

人工智能技能要求可以根據具體的職位和任務而有所不同,但一般來說,以下是一些常見的人工智能技能要求: 編程技能:掌握至少一種編程語言,并能夠運用該語言進行算法開發和數據處理。 機器學習:了解常見的機器…

開關電源基礎認知

前言 從開關電源(BMS充電器)入門硬件之——開關電源基礎認知 有紕漏請指出,轉載請說明。 學習交流請發郵件 1280253714qq.com 1.什么是開關電源 開關電源是利用現代電力電子技術,控制開關管開通和關斷的時間比率,維…

【vSphere | VM】虛擬機自定義規范Ⅲ —— 創建 Linux 虛擬機自定義規范

目錄 4. 創建關于Linux系統的虛擬機自定義規范4.1 新建 Linux 虛擬機自定義規范(1)名稱和目標操作系統(2)計算機名稱(3)時區(4)自定義腳本(5)網絡&#xff08…

Netty03-核心組件NioEventLoopGroup解讀

NioEventLoopGroup 可以看到NioEventLoopGroup繼承了MultithreadEventExecutorGroup并且實現了EventLoopGroup接口,而這兩個類被ExecutorService修飾,所以NioEventLoopGroup實際上是一個線程池,池中的對象其實就是單個的NioEventLoop。 源碼…

Java設計模式-工廠模式

目錄 一、簡單工廠模式 (一)需求 (二)使用傳統的方法來完成 (三)傳統方法的優缺點 (四)基本介紹 (五)使用簡單工廠模式 二、工廠方法模式 &#xff0…

RedisTemplate操作哈希數據

RedisTemplate操作哈希數據 概述常用方法添加哈希數據添加hashMap值判斷hashkey 獲取哈希數據獲取屬性值獲取hashMap值。獲取鍵值對。獲取map鍵是否有值判斷是否有map鍵。獲取鍵。獲取長度。集合方式獲取值。匹配獲取鍵值對 自增以double值大小自增。以long值大小自增。 修改刪…

IDEA中表明或者字段找不到時報紅

問題 idea 中mysql的sql語句報紅,無論表名還是表字段 原因 是由于sql方言導致的 當我們選擇某一個sql方言的時候,xml配置會按照指定規則校驗sql是否規范,并給出提示 解決方案 取消sql方言,設置sql方言為None。設置完重啟idea既…

CSS Grid布局入門:從零開始創建一個網格系統

CSS Grid布局入門:從零開始創建一個網格系統 引言 在響應式設計日益重要的今天,CSS Grid布局系統是前端開發中的一次革新。它使得創建復雜、靈活的布局變得簡單而直觀。本教程將通過分步驟的方式,讓你從零開始掌握CSS Grid,并在…

STM32上模擬CH340芯片的功能 (一)

#虛擬串口模擬CH340# 代碼gitee地址:STM32F103_CH340: 用STM32模擬ch340USB串口的功能 一、思路 1. 確定通信接口:CH340是一款USB轉串口芯片,因此您需要選擇STM32上的某個USB接口來實現USB通信。通常情況下,STM32系列芯片都有內…

Halcon聯合winform顯示以及處理

在窗口中添加窗體和按鈕,并在解決方案資源管理器中調加了導入Halcon導出的.cs文件,運行出現下圖的問題: 問題1:CS0017 程序定義了多個入口點。使用/main(指定包含入口點的類型)進行編譯。 解決方案1.: 右…