chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

Spring Cloud Tencent發(fā)布最新匹配版本!

OSC開(kāi)源社區(qū) ? 來(lái)源:OSC開(kāi)源社區(qū) ? 作者:張樂(lè)、張皓天 ? 2022-12-09 15:34 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

Spring Framework 6.0 已于11月份上旬正式發(fā)布 GA 版本。Spring Boot 3.0 也于11月25日正式發(fā)布 GA 版本。那么 Spring Cloud 2022 它還遠(yuǎn)嗎?

前言

Java 8 目前是國(guó)內(nèi)主流生產(chǎn)環(huán)境 Java 版本之一。雖然近幾年陸續(xù)發(fā)布了 Java 11、Java 17 官方 LTS 版本,但是 你發(fā)任你發(fā),我用Java8 的聲音反應(yīng)了大部分開(kāi)發(fā)者的心聲。不過(guò) Java 17 版本在性能上做了大量的優(yōu)化特別是 ZGC 的發(fā)布,促進(jìn)了國(guó)內(nèi)不少企業(yè)升級(jí)到 Java 17。

Spring 在 Java 語(yǔ)言的作用不言而喻,Spring Framework 5.0 發(fā)布已至今五年,是時(shí)候需要一個(gè)大的版本來(lái)革新技術(shù)棧了。借著 Java 17 的東風(fēng)我們認(rèn)為

“Java 17 + Spring Framework 6.0 + Spring Boot 3.0 + Spring Cloud 2022”

組合一定會(huì)在不久的將來(lái)被大家所接受,成為主流技術(shù)棧。當(dāng)然任何新技術(shù)大規(guī)模被認(rèn)可、落地都會(huì)有一定的滯后性,技術(shù)的發(fā)展 “穩(wěn)”字當(dāng)頭。

Spring Cloud Tencent 是基于騰訊開(kāi)源的一站式微服務(wù)平臺(tái)北極星(集服務(wù)注冊(cè)發(fā)現(xiàn)、配置中心、服務(wù)限流熔斷、服務(wù)路由于一身)實(shí)現(xiàn)的 Spring Cloud 微服務(wù)解決方案套件。真正做到 “All In One”、 開(kāi)箱即用,極大的降低企業(yè)的微服務(wù)實(shí)踐門(mén)檻。

無(wú)論北極星還是 Spring Cloud Tencent 當(dāng)前都在積極的修復(fù) Bug、完善用戶體驗(yàn)、迭代新功能。所以 Spring Cloud Tencent 也第一時(shí)間適配了 Spring Cloud 2022。此篇文章詳細(xì)講述了 Spring Cloud Tencent 從 2021 版本升級(jí)到 2022 版本的改動(dòng)點(diǎn)。為嘗鮮 2022 版本的廣大開(kāi)發(fā)者提供一些參考。

一、升級(jí)過(guò)程

1.1 升級(jí)安裝 JDK 17

Oracle 官網(wǎng)下載 JDK 17 并安裝。安裝之后,本地修改 JAVA_HOME 環(huán)境變量,如下所示:

#echo$JAVA_HOME
/Library/Java/JavaVirtualMachines/jdk-17.0.5.jdk/Contents/Home
#java-version
javaversion"17.0.5"2022-10-18LTS
Java(TM)SERuntimeEnvironment(build17.0.5+9-LTS-191)
JavaHotSpot(TM)64-BitServerVM(build17.0.5+9-LTS-191,mixedmode,sharing)

安裝好 JDK 17 之后,同時(shí)需要在 Idea 里設(shè)置項(xiàng)目的編譯和運(yùn)行環(huán)境為 SDK 17。

1.2 升級(jí)依賴(lài)版本

Spring Cloud Tencent 項(xiàng)目引用的 Parent Pom 是 spring-cloud-build,所以需要升級(jí)到最新版本。

<parent>
<groupId>org.springframework.cloudgroupId>
<artifactId>spring-cloud-buildartifactId>
<version>4.0.0-RC2version>
<relativePath/>
parent>

可以看到 Spring-cloud-build 4.0.0-RC2 版本里定義的 Java 和 Spring Boot 版本已是最新的 Java 17 和 Spring Boot 3.0

<properties>
<java.version>17java.version>
<spring-boot.version>3.0.0-RC2spring-boot.version>
properties>

普通項(xiàng)目一般不需要繼承 spring-cloud-build ,而是通過(guò) bom 的方式引入 Spring 全家桶。如果你的項(xiàng)目里定義了 Java、Spring Framework、Spring Boot、Spring Cloud 版本則需要同時(shí)升級(jí)。如下所示:

<properties>
<java.version>17java.version>
<spring.framework.version>6.0.1spring.framework.version>
<spring-boot.version>3.0.0spring-boot.version>
<spring.cloud.version>2022.0.0-RC2spring.cloud.version>
properties>
<dependencyManagement>
<dependencies>

<dependency>
<groupId>org.springframeworkgroupId>
<artifactId>spring-framework-bomartifactId>
<version>${spring.framework.version}version>
<type>pomtype>
<scope>importscope>
dependency>


<dependency>
<groupId>org.springframework.bootgroupId>
<artifactId>spring-boot-dependenciesartifactId>
<version>${spring.boot.version}version>
<type>pomtype>
<scope>importscope>
dependency>


<dependency>
<groupId>org.springframework.cloudgroupId>
<artifactId>spring-cloud-dependenciesartifactId>
<version>${spring.cloud.version}version>
<type>pomtype>
<scope>importscope>
dependency>
dependencies>
dependencyManagement>

注意:Spring 非 GA 版本會(huì)先發(fā)布到 Spring 自己的 Maven 倉(cāng)庫(kù),而不會(huì)發(fā)布到中央倉(cāng)庫(kù)。所以如果拉不到包,則需要在項(xiàng)目根 Pom 或者本地 ~/.m2/settings.xml 里配置 Spring Maven 倉(cāng)庫(kù)。

<repositories>
<repository>
<id>nexus-snapshotsid>
<url>https://oss.sonatype.org/content/repositories/snapshots/url>
<releases>
<enabled>falseenabled>
releases>
<snapshots>
<enabled>trueenabled>
snapshots>
repository>
<repository>
<id>spring-snapshotsid>
<name>SpringSnapshotsname>
<url>https://repo.spring.io/snapshoturl>
<snapshots>
<enabled>trueenabled>
snapshots>
<releases>
<enabled>falseenabled>
releases>
repository>
<repository>
<id>spring-milestonesid>
<name>SpringMilestonesname>
<url>https://repo.spring.io/milestoneurl>
<snapshots>
<enabled>falseenabled>
snapshots>
repository>
repositories>

在升級(jí)過(guò)程中,大概率會(huì)出現(xiàn)包沖突的情況,例如 SCT 在升級(jí)過(guò)程中發(fā)現(xiàn)日志依賴(lài)有問(wèn)題導(dǎo)致 example 啟動(dòng)失敗。最后排查到原因:SCT 自己定義了 logback版本為 1.2.11,但是升級(jí) Spring Boot 3.0 里傳遞依賴(lài)的版本為 1.4.5,所以導(dǎo)致版本沖突。最后解決方案就是把 SCT 定義的版本去掉,只用傳遞依賴(lài)的版本。

Tips:解決版本沖突大概率會(huì)占用比較多的時(shí)間,升級(jí)過(guò)程需要有耐心

1.3 修改不兼容代碼

javax 包替換為 jakarta 包

這是Java17 最大變更點(diǎn)之一,代碼所有 import javax 都要替換為 jakarta編譯不通過(guò)的地方直接通過(guò) Idea 自動(dòng)導(dǎo)入的方式變更即可。

spring-web 6.0 不兼容升級(jí)

SCT 在升級(jí)過(guò)程中發(fā)現(xiàn) spring-web 包下有些 API 不兼容,例如 ClientHttpResponse.getStatusCode() 老版本返回 HttpStatus,新版本返回的是 HttpStatusCode,改動(dòng)量很小。

AutoConfiguration 自動(dòng)裝配方式變更

在 Spring Boot 3.0 以前的版本,通過(guò)在 META-INF/spring.factories 文件中定義需要自動(dòng)裝配類(lèi),Spring Boot 在啟動(dòng)過(guò)程中就會(huì)執(zhí)行裝配 Bean,如下所示:

org.springframework.boot.autoconfigure.EnableAutoConfiguration=com.tencent.cloud.plugin.pushgateway.PolarisStatPushGatewayAutoConfiguration

但是在 Spring Boot 3.0 中,則是通過(guò)在

META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports

文件定義需要自動(dòng)裝配的類(lèi)。所以遷移過(guò)程就是把org.springframework.boot.autoconfigure.EnableAutoConfiguration 下配置的類(lèi)都放到新的文件中。

這里需要注意的是原來(lái)在 spring.factories 可以定義多種類(lèi)型的自動(dòng)裝配例如:

  1. org.springframework.boot.autoconfigure.EnableAutoConfiguration
  2. org.springframework.cloud.bootstrap.BootstrapConfiguration
  3. org.springframework.context.ApplicationListener
  4. ... ...

只需要把 org.springframework.boot.autoconfigure.EnableAutoConfiguration 部分遷移到 org.springframework.boot.autoconfigure.AutoConfiguration.imports 文件,其它部分還是放在 spring.factories 中無(wú)需遷移。

至此 SCT 2022 升級(jí)適配工作即已完成,可以看出升級(jí)工作量不大。

1.4 升級(jí)總結(jié)

SCT 屬于比較底層的基礎(chǔ)組件依賴(lài)的第三方庫(kù)少,所以整體適配工作量少。如果您的應(yīng)用是上層業(yè)務(wù)應(yīng)用依賴(lài)了大量的組件,例如:spring-security、spring-stream等。那升級(jí)的成本也會(huì)高很多。

下面是 github 網(wǎng)友 @herodotus-cloud 總結(jié)的升級(jí)關(guān)鍵點(diǎn):

  1. 更換 JDK 17 后,少部分第三方依賴(lài)包版本選擇和控制問(wèn)題
  2. 新依賴(lài)包過(guò)時(shí)代碼替換。大多數(shù)沒(méi)問(wèn)題,就怕遇到像 spring security 6 用法的變化
  3. starter 自動(dòng)配置注冊(cè)格式不同導(dǎo)致的,大多數(shù)第三方依賴(lài)都倒在這里
  4. 最怕的就是核心機(jī)制的變化,比如說(shuō)反射。好像一些反射在 JDK 17 會(huì)有問(wèn)題
  5. 最大的問(wèn)題就是基礎(chǔ)設(shè)置組件升級(jí)不同步或者緩慢問(wèn)題,比如依賴(lài)的某個(gè) SDK 沒(méi)有升級(jí) SDK 17,如果傳遞依賴(lài)了就會(huì)導(dǎo)致編譯問(wèn)題。
  6. 如果還要考慮向下的兼容性,怕就難了

Spring 官方建議先升級(jí)到 Spring Boot 2.7 小版本,然后再升級(jí)到 Spring Boot 3.0 版本。通過(guò)小步升級(jí)的方式,可以更加的平滑。

二、嘗鮮使用 Spring Cloud Tencent 2022.0 版本

Spring Cloud Tencent 1.8.1-2022.0.0 版本已發(fā)布。通過(guò)引入 SCT BOM 的方式即可引入,如下所示:

<dependencyManagement>
<dependencies>
<dependency>
<groupId>com.tencent.cloudgroupId>
<artifactId>spring-cloud-tencent-dependenciesartifactId>
<version>1.8.1-2022.0.0-RC2version>
<type>pomtype>
<scope>importscope>
dependency>
dependencies>
dependencyManagement>

在此解釋一下 SCT 的版本號(hào)規(guī)則,版本號(hào)分為兩段:

{對(duì)應(yīng)的 Spring Cloud 版本}

SCT 版本號(hào)在各個(gè) Spring Cloud 版本之間對(duì)齊,例如 1.8.1-Hoxton.SR12 和 1.8.1-2021.0.3 ,SCT 版本號(hào)都是 1.8.1,功能完全對(duì)齊,只是引用的 Spring Cloud 不同。版本號(hào)中引入 Spring Cloud 版本為了一眼就能識(shí)別 Spring Cloud 版本對(duì)應(yīng)關(guān)系。開(kāi)發(fā)者優(yōu)先選擇跟自己版本一致的 Spring Cloud 版本,再選擇最新的 SCT 版本。

使用 SCT 各個(gè)子模塊的功能,請(qǐng)參考 SCT Github Wiki 文檔。

三、 呼吁

第三方基礎(chǔ)組件的升級(jí)節(jié)奏會(huì)直接影響上層應(yīng)用的升級(jí),在此也呼吁第三方基礎(chǔ)組件的維護(hù)者能夠盡快跟進(jìn)適配。為廣大愿意嘗鮮的開(kāi)發(fā)者和企業(yè)提供便利。

四、歡迎共建

如果您對(duì)微服務(wù)、Spring Cloud 技術(shù)感興趣,歡迎加入我們。您的一個(gè)建議、Issue、Pull Request 甚至只是一個(gè)小小的 Star 都是對(duì) Spring Cloud Tencent 社區(qū)極大的支持。

審核編輯 :李倩


聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • JAVA
    +關(guān)注

    關(guān)注

    20

    文章

    2997

    瀏覽量

    116054
  • Oracle
    +關(guān)注

    關(guān)注

    2

    文章

    301

    瀏覽量

    37582
  • spring
    +關(guān)注

    關(guān)注

    0

    文章

    341

    瀏覽量

    15849

原文標(biāo)題:緊跟Spring Boot 3生態(tài),Spring Cloud Tencent發(fā)布最新匹配版本!

文章出處:【微信號(hào):OSC開(kāi)源社區(qū),微信公眾號(hào):OSC開(kāi)源社區(qū)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    壁仞科技壁礪166M產(chǎn)品適配騰訊混元開(kāi)源翻譯模型1.5版本

    12月30日,騰訊混元正式開(kāi)源翻譯模型1.5版本,該版本共包含兩個(gè)模型:Tencent-HY-MT1.5-1.8B和Tencent-HY-MT1.5-7B,支持33個(gè)語(yǔ)種互譯以及5種民
    的頭像 發(fā)表于 01-05 15:39 ?208次閱讀
    壁仞科技壁礪166M產(chǎn)品適配騰訊混元開(kāi)源翻譯模型1.5<b class='flag-5'>版本</b>

    發(fā)布應(yīng)用催促加急撤銷(xiāo)審核

    完成所有應(yīng)用信息和版本信息的配置后,可將元服務(wù)提交至華為方進(jìn)行發(fā)布審核。 登錄AppGallery Connect,點(diǎn)擊“APP與元服務(wù)”。 選擇要發(fā)布的元服務(wù)。 左側(cè)導(dǎo)航選擇“應(yīng)用上架 &
    發(fā)表于 12-26 10:43

    發(fā)布元服務(wù)提交審核

    完成所有應(yīng)用信息和版本信息的配置后,可將元服務(wù)提交至華為方進(jìn)行發(fā)布審核。 登錄AppGallery Connect,點(diǎn)擊“APP與元服務(wù)”。 選擇要發(fā)布的元服務(wù)。 左側(cè)導(dǎo)航選擇“應(yīng)用上架 &
    發(fā)表于 12-04 14:23

    發(fā)布元服務(wù)設(shè)置上架時(shí)間

    設(shè)置上架時(shí)間 登錄AppGallery Connect,點(diǎn)擊“APP與元服務(wù)”。 選擇要發(fā)布的元服務(wù)。 左側(cè)導(dǎo)航選擇“應(yīng)用上架 > 版本信息”下待發(fā)布版本。 進(jìn)入
    發(fā)表于 12-03 09:46

    元服務(wù)發(fā)布選擇待發(fā)布軟件包

    上傳軟件包并通過(guò)基礎(chǔ)合法檢查后,就可以從上傳的版本中選擇需要發(fā)布的軟件包。 登錄AppGallery Connect,點(diǎn)擊“APP與元服務(wù)”。 選擇要發(fā)布的元服務(wù)。 左側(cè)導(dǎo)航選擇“應(yīng)用上架 &
    發(fā)表于 11-03 17:10

    開(kāi)源鴻蒙6.1和8.1版本定為L(zhǎng)TS建議版本,最新OpenHarmony路標(biāo)發(fā)布

    在開(kāi)源項(xiàng)目生態(tài)建設(shè)中,版本生命周期管理是保障社區(qū)項(xiàng)目穩(wěn)定演進(jìn)、助力生態(tài)伙伴提前規(guī)劃產(chǎn)品路線、降低開(kāi)發(fā)者適配成本的核心環(huán)節(jié)。為進(jìn)一步規(guī)范開(kāi)源鴻蒙版本發(fā)布流程與維護(hù)標(biāo)準(zhǔn),明確技術(shù)支持周期預(yù)期,2025
    的頭像 發(fā)表于 10-30 09:29 ?808次閱讀
    開(kāi)源鴻蒙6.1和8.1<b class='flag-5'>版本</b>定為L(zhǎng)TS建議<b class='flag-5'>版本</b>,最新OpenHarmony路標(biāo)<b class='flag-5'>發(fā)布</b>

    開(kāi)源鴻蒙6.0 Release版本重磅發(fā)布

    近日,在長(zhǎng)沙國(guó)際會(huì)議中心舉辦的開(kāi)源鴻蒙技術(shù)大會(huì)2025上,開(kāi)放原子開(kāi)源鴻蒙(即OpenAtom OpenHarmony,簡(jiǎn)稱(chēng)“開(kāi)源鴻蒙”)項(xiàng)目群正式發(fā)布開(kāi)源鴻蒙6.0 Release版本。
    的頭像 發(fā)表于 10-10 16:49 ?2659次閱讀

    使用studio,最高版本的系統(tǒng)是4.0.3,用到LVGL,但是可選的版本是9.1的,不匹配怎么解決?

    使用studio搭建的系統(tǒng),選的是4.0.3版本,需要用到LVGL,但是版本沒(méi)的選,只有9.1最高的版本,系統(tǒng)不匹配怎么辦?
    發(fā)表于 09-29 09:56

    AppGallery Connect(HarmonyOS 5及以上) --公開(kāi)測(cè)試創(chuàng)建并發(fā)布測(cè)試版本(一)

    版本號(hào)規(guī)范 測(cè)試版本的VersionCode必須高于發(fā)布過(guò)的全網(wǎng)版本的VersionCode。 測(cè)試版本的VersionCode不能低于
    發(fā)表于 09-26 17:24

    創(chuàng)建并發(fā)布測(cè)試版本(二)

    擇到。 7.配置是否向測(cè)試用戶展示當(dāng)前最新在架版本的應(yīng)用截圖。 8.配置測(cè)試發(fā)布。 9.點(diǎn)擊頁(yè)面右上角“提交”,將測(cè)試版本提交審核。提交成功后,可在“版本列表”頁(yè)面查看
    發(fā)表于 09-17 15:00

    創(chuàng)建并發(fā)布測(cè)試版本(一)

    版本號(hào)規(guī)范 測(cè)試版本的VersionGode必須高于發(fā)布過(guò)的全網(wǎng)版本的VersionGode。 測(cè)試版本的VersionCode不能低于
    發(fā)表于 09-16 15:21

    如何使用nRF Cloud

    Nordic Semiconductor云服務(wù)和nRF Cloud構(gòu)成了一個(gè)專(zhuān)為Nordic Semiconductor無(wú)線設(shè)備優(yōu)化的物聯(lián)網(wǎng)平臺(tái)。該平臺(tái)為使用Nordic Semiconductor
    的頭像 發(fā)表于 07-04 11:12 ?801次閱讀
    如何使用nRF <b class='flag-5'>Cloud</b>

    NVIDIA推出AI平臺(tái)DGX Cloud Lepton

    CoreWeave、Crusoe、Firmus、Foxconn、GMI Cloud、Lambda、Nebius、Nscale、SoftBank Corp. 和 Yotta Data Services 為 DGX Cloud Lepton Marketplace 提供數(shù)以萬(wàn)
    的頭像 發(fā)表于 05-22 09:42 ?848次閱讀

    nRF Cloud Wi-Fi 定位服務(wù)

    nRF Cloud 提供的定位服務(wù)專(zhuān)為 Nordic 硅芯片量身定制,具有快速、省電的定位功能。它們可以幫助需要定位數(shù)據(jù)而又不需要高功耗的設(shè)備和應(yīng)用。提供多種定位技術(shù),包括 Assisted-GPS
    發(fā)表于 04-17 15:07

    燧原科技正式納入飛槳例行版本發(fā)布體系

    燧原科技與飛槳經(jīng)過(guò)長(zhǎng)時(shí)間的適配合作和持續(xù)集成(CI)建設(shè),對(duì)飛槳合?的每?行代碼都在燧原硬件上進(jìn)?了驗(yàn)證。如今,燧原正式納入飛槳例行版本發(fā)布體系。未來(lái),燧原將基于這?合作模式,共同?持飛槳重大版本
    的頭像 發(fā)表于 04-11 11:31 ?963次閱讀
    燧原科技正式納入飛槳例行<b class='flag-5'>版本</b><b class='flag-5'>發(fā)布</b>體系