dubbo復習:(13)把服務劃分為不同的group 和version,只有服務端和客戶端group和version匹配才能通信

一、接口定義

package cn.edu.tju.service;public interface DevelopService {String invoke(String param);
}

二、兩個版本的實現:

package cn.edu.tju.service;import org.apache.dubbo.config.annotation.DubboService;@DubboService(group = "group1",version = "1.0")
public class DevelopProviderServiceV1 implements DevelopService{@Overridepublic String invoke(String param) {StringBuilder s = new StringBuilder();s.append("ServiceV1 param:").append(param);return s.toString();}
}
package cn.edu.tju.service;import org.apache.dubbo.config.annotation.DubboService;@DubboService(group = "group2",version = "2.0")
public class DevelopProviderServiceV2 implements DevelopService{@Overridepublic String invoke(String param) {StringBuilder s = new StringBuilder();s.append("ServiceV2 param:").append(param);return s.toString();}
}

通過@DubboService注解指定了group和version
三、客戶端分別調用不同的group&版本

package cn.edu.tju.service;import org.apache.dubbo.config.annotation.DubboReference;
import org.springframework.boot.CommandLineRunner;
import org.springframework.stereotype.Component;@Component
public class MyConsumer implements CommandLineRunner {@DubboReference(group = "group1",version = "1.0")private DevelopService developServiceV1;@DubboReference(group = "group2",version = "2.0")private DevelopService developServiceV2;public void run(String ...args){//調用DevelopService的 group1 1.0版本System.out.println("Dubbo Remote Return ======> " + developServiceV1.invoke("1"));//調用DevelopService的 group2 2.0版本System.out.println("Dubbo Remote Return ======> " + developServiceV2.invoke("2"));}
}

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

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

相關文章

bert模型數據集加載方式

數據集構造 無論是機器學習還是深度學習對于數據集的構造都是十分重要。 現記錄一下PyTorch 的 torch.utils.data.Dataset 類的子類。Dataset 類是PyTorch框架中用于處理數據的基本組件,它允許用戶定義自己的數據集類,以滿足特定任務的需求。 Dataset…

重學英語:輸出的重要性

精通一門外語的四要素:聽,說,讀,寫 輸入:聽,讀 輸出:寫,說 因為輸入是我們可以單獨完成,不需要有人互動,所以我們做得最多 輸出練習做得很少,…

Redis中的數據結構與內部編碼

本篇文章主要是對 Redis 常見的數據結構進行講解,同時還對其所對應的不同的內部編碼進行講解。希望本篇文章會對你有所幫助。 文章目錄 一、五大數據結構 二、數據結構對應的編碼方式 String hash list set zset 🙋?♂? 作者:Ggggggtm &…

js 面試題學習筆記一

1、什么是防抖和節流?有什么區別?如何實現? 防抖:觸發高頻事件后N秒內函數只會執行一次,如果N秒高頻事件再次被觸發,則重新計算時間。(a時間觸發,5秒內執行一次,但是第4…

10G UDP協議棧 (9)UDP模塊

目錄 一、UDP協議簡單介紹 二、UDP功能實現 三、仿真 一、UDP協議簡單介紹 UDP協議和TCP協議同位于傳輸層,介于網絡層(IP)和應用層之間:UDP數據部分為應用層報文,而UDP報文在IP中承載。 UDP 報文格式相對于簡單&am…

電腦出現:excel詞典(xllex.dll)文件丟失或損壞的錯誤提示怎么辦?有效的將丟失的xllex.dll修復

當遇到 Excel 提示“詞典 (xllex.dll) 文件丟失或損壞”的問題時,通常意味著該動態鏈接庫文件(Dynamic Link Library,DLL),它與拼寫檢查功能相關聯的,無法被正確找到或者合適地使用。那么有什么辦法可以解決…

LLVM技術在GaussDB等數據庫中的應用

目錄 LLVM和數據庫 LLVM適用場景 LLVM對所有類型的SQL都會有收益嗎? LLVM在OLTP中就一定沒有收益嗎? GaussDB中的LLVM 1. LLVM在華為應用于數據庫的時間線 2. GaussDB LLVM實現簡析 3. GaussDB LLVM支持加速的場景 支持LLVM的表達式&#xff1a…

vue項目出現多次ElMessage

問題: 解決方法: let message null if (message null) { message ElMessage.error(“登錄過期,請重新登錄”); } 最終效果:只出現一個彈框

Orange AIpro Color triangle幀率測試

OpenGL概述 OpenGL ES是KHRNOS Group推出的嵌入式加速3D圖像標準,它是嵌入式平臺上的專業圖形程序接口,它是OpenGL的一個子集,旨在提供高效、輕量級的圖形渲染功能。現推出的最新版本是OpenGL ES 3.2。OpenGL和OpenCV OpenCL不同,…

實操專區-第15周-課堂練習專區-漏斗圖與金字塔圖

實操專區-第15周-課堂練習專區-漏斗圖 下載安裝ECharts,完成如下樣式圖形。 代碼和截圖上傳 基本要求:下圖3選1,完成代碼和截圖 完成 3.1.3.16 漏斗圖中的任務點 基本要求:2個選一個完成,多做1個加2分。 請用班級學號姓…

銀行對公貸款軟件業務流程詳解

對公貸款業務是指商業銀行向企事業單位提供資金支持,用于資本擴充、生產經營、項目建設等方面的融資。其目的在于支持企事業單位的發展,推動經濟增長。通過提供資金支持,企事業單位可以獲得必要的資金來擴大生產規模、提高生產能力、研發新產…

第8周 分布式事務與數據一致性主流解決方案落地

第8周 分布式事務與數據一致性主流解決方案落地 1. 最終一致性原理與解析2. 微服務的解耦3. 本地消息存儲4. 自定義事務管理器5. 本地消息刪除********************************************************************************** 本周拓展數據的一致性落地,采用弱…

【Java EE】網絡原理——HTTP請求

目錄 1.認識URL 2.認識“方法(method)” 2.1GET方法 2.1.1使用Fiddler觀察GET請求 2.1.2 GET請求的特點 2.2 POST方法 2.2.1 使用FIddler觀察POST方法 2.2.2 POST請求的特點 3.認識請求“報頭”(header) 3.1 Host 3.2 C…

Spring MVC 工作流程源碼分析

前言: 我們知道 Spring MVC 的核心是前端控制器 DispatcherServlet,客戶端所有的請求都會交給 DispatcherServlet 來處理,本篇我我們來分析 Spring MVC 處理客戶端請求的流程,也就是工作流程。 Sping MVC 只是儲備傳送門&#x…

Java整合EasyExcel實戰——3(上下列相同合并單元格策略)

參考&#xff1a;https://juejin.cn/post/7322156759443095561?searchId202405262043517631094B7CCB463FDA06https://juejin.cn/post/7322156759443095561?searchId202405262043517631094B7CCB463FDA06 準備條件 依賴 <dependency><groupId>com.alibaba</gr…

鄰接矩陣廣度優先遍歷

關于圖的遍歷實際上就兩種 廣度優先和深度優先&#xff0c;一般關于圖的遍歷都是基于鄰接矩陣的&#xff0c;考試這些&#xff0c;用的也是鄰接矩陣。 本篇文章先介紹廣度優先遍歷的原理&#xff0c;和代碼實現 什么是圖的廣度優先遍歷&#xff1f; 這其實和二叉樹的層序遍…

新人學習筆記之(數組1)

一、數組的概念 1.數組&#xff08;Array&#xff09;可以把一組相關的數據一起存放&#xff0c;并提供方便的訪問&#xff08;獲取&#xff09;方式 2.數組是指一組數據的集合&#xff0c;其中的每個數據被稱作元素&#xff0c;在數組中可以存放任意類型的元素&#xff0c;數組…

數據結構——二叉樹的基本應用

在此之前我們已經初步了解了二叉樹&#xff0c;在介紹堆的基本應用時&#xff0c;我們已經具體介紹了完全二叉樹的基本應用&#xff0c;本章我們介紹二叉樹的基本應用&#xff0c;這個不止指的是完全二叉樹&#xff0c;而是指泛型的二叉樹。 二叉樹的基本應用&#xff0c;由于…

代碼隨想錄算法訓練營第54天|● 392.判斷子序列 ● 115.不同的子序列

392. 判斷子序列 這個微軟面試的時候考過 雙指針就行 編輯距離入門題&#xff1a; 思路是一樣的 相同字符1 否則從前面順下來 class Solution:def isSubsequence(self, s: str, t: str) -> bool:dp[[0]*(len(t)1) for _ in range(len(s)1)]for i in range(1,len(s)1):f…

aspose-*的使用

文章目錄 aspose-*一、依賴--maven二、需求1、word------>pdf2、doc------>docx2、xls------>xlsx aspose-* 一、依賴–maven 備注&#xff1a;第三方的jar包可以從資源中下載&#xff0c;有上傳的 <!--aspose依賴--><dependency><groupId>aspose…