国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Spring Boot 3.x微服務(wù)升級經(jīng)歷

這篇具有很好參考價(jià)值的文章主要介紹了Spring Boot 3.x微服務(wù)升級經(jīng)歷。希望對大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

前言

Spring Boot 3.0.0 GA版已經(jīng)發(fā)布,好多人也開始嘗試升級,有人測試升級后,啟動(dòng)速度確實(shí)快了不少,如下為網(wǎng)絡(luò)截圖,于是我也按捺不住的想嘗試下。
spring boot 升級3.x,Spring Boot 3.x,spring boot,微服務(wù),java

歷程

首先就是要把Spring Boot、Spring Cloud 相關(guān)的依賴升一下
Spring Boot:3.0.0
Spring Cloud:2022.0.0-RC2

統(tǒng)一依賴版本管理:

<dependencyManagement>
<dependencies>
	<dependency>
		<groupId>org.springframework.cloud</groupId>
		<artifactId>spring-cloud-dependencies</artifactId>
		<version>2022.0.0-RC2</version>
		<type>pom</type>
		<scope>import</scope>
	</dependency>
	<dependency>
		<groupId>org.springframework.boot</groupId>
		<artifactId>spring-boot-starter-parent</artifactId>
		<version>3.0.0</version>
		<type>pom</type>
		<scope>import</scope>
	</dependency>
</dependencies>
</dependencyManagement>

現(xiàn)在還不能下載Spring 相關(guān)依賴包,需要加入Spring 倉庫。
在你的maven倉庫中加入如下配置,我是加在了pom.xml

<repository>
	<id>netflix-candidates</id>
	<name>Netflix Candidates</name>
	<url>https://artifactory-oss.prod.netflix.net/artifactory/maven-oss-candidates</url>
	<snapshots>
		<enabled>false</enabled>
	</snapshots>
</repository>
<repository>
	<id>spring-milestones</id>
	<name>Spring Milestones</name>
	<url>https://repo.spring.io/milestone</url>
	<snapshots>
		<enabled>false</enabled>
	</snapshots>
</repository>

另外Spring Boot 3.X 開始使用了Java 17,將java版本調(diào)整到>17,為了不必要的麻煩,就選17
IDEA選擇17,并在pom.xml文件中指定版本:

<java.version>17</java.version>

到這里我們的common 包是能正常編譯了。

接下來是服務(wù)的配置
同樣調(diào)整Spring Boot、Spring Cloud、Java的版本,同common的配置。
碰到如下的幾個(gè)問題:

找不到hystrix的依賴問題
升級后找不到hystrix的版本,官網(wǎng)也找不到,這里我顯式指定了版本

<dependency>
	<groupId>org.springframework.cloud</groupId>
	<artifactId>spring-cloud-starter-netflix-hystrix</artifactId>
	<version>2.2.9.RELEASE</version>
</dependency>

rabbitmq問題
相關(guān)的配置丟失,比如如下圖,這邊進(jìn)行適當(dāng)調(diào)整或者直接注釋解決。
spring boot 升級3.x,Spring Boot 3.x,spring boot,微服務(wù),java
spring boot 升級3.x,Spring Boot 3.x,spring boot,微服務(wù),java
TypeVariableImpl丟失問題
原來服務(wù)中引入了sun.reflect.generics.reflectiveObjects.TypeVariableImpl,現(xiàn)在17中已經(jīng)被隱藏?zé)o法直接使用,這邊為了能夠先啟動(dòng),暫時(shí)注釋,后面再想辦法。

Log 異常問題
由于之前我們項(xiàng)目中歷史原因,既有用log4j,也有用logback,升級后已經(jīng)不行,提示沖突,報(bào)錯(cuò)如下

Exception in thread "main" java.lang.IllegalArgumentException: LoggerFactory is not a Logback LoggerContext but Logback is on the classpath. Either remove Logback or the competing implementation (class org.slf4j.helpers.NOPLoggerFactory loaded from file:/Users/chenjujun/.m2/repository/org/slf4j/slf4j-api/1.7.0/slf4j-api-1.7.0.jar). If you are using WebLogic you will need to add 'org.slf4j' to prefer-application-packages in WEB-INF/weblogic.xml: org.slf4j.helpers.NOPLoggerFactory
	at org.springframework.util.Assert.instanceCheckFailed(Assert.java:713)
	at org.springframework.util.Assert.isInstanceOf(Assert.java:632)

意思是,要么移除Logback,要么解決slf4j-api的沖突依賴,這里兩種方式都嘗試了,slf4j-api依賴的地方太多,后面移除了Logback。

要排除依賴一個(gè)好辦法:使用Maven Helper插件

spring boot 升級3.x,Spring Boot 3.x,spring boot,微服務(wù),java

logback依賴:

<dependency>
	<groupId>ch.qos.logback</groupId>
	<artifactId>logback-classic</artifactId>
	<version>1.2.8</version>
</dependency>

Apollo問題
使用Apollo會(huì)提示該錯(cuò)誤,需要在啟動(dòng)中加入--add-opens java.base/java.lang=ALL-UNNAMED

Caused by: com.ctrip.framework.apollo.exceptions.ApolloConfigException: Unable to load instance for com.ctrip.framework.apollo.spring.config.ConfigPropertySourceFactory!
	at com.ctrip.framework.apollo.spring.util.SpringInjector.getInstance(SpringInjector.java:40)
	at com.ctrip.framework.apollo.spring.boot.ApolloApplicationContextInitializer.<init>(ApolloApplicationContextInitializer.java:66)
	... 16 more
Caused by: com.ctrip.framework.apollo.exceptions.ApolloConfigException: Unable to initialize Apollo Spring Injector!
	at com.ctrip.framework.apollo.spring.util.SpringInjector.getInjector(SpringInjector.java:24)
	at com.ctrip.framework.apollo.spring.util.SpringInjector.getInstance(SpringInjector.java:37)
	... 17 more
Caused by: java.lang.reflect.InaccessibleObjectException: Unable to make protected final java.lang.Class java.lang.ClassLoader.defineClass(java.lang.String,byte[],int,int,java.security.ProtectionDomain) throws java.lang.ClassFormatError accessible: module java.base does not "opens java.lang" to unnamed module @16612a51
	at java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:354)
	at java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:297)
	at java.base/java.lang.reflect.Method.checkCanSetAccessible(Method.java:199)
	at java.base/java.lang.reflect.Method.setAccessible(Method.java:193)
	at com.google.inject.internal.cglib.core.$ReflectUtils$1.run(ReflectUtils.java:52)
	at java.base/java.security.AccessController.doPrivileged(AccessController.java:318)
	at com.google.inject.internal.cglib.core.$ReflectUtils.<clinit>(ReflectUtils.java:42)

通過上述配置調(diào)整后,能編譯成功,但是無法啟動(dòng),控制沒有任何日志,初步懷疑還是log依賴問題,由于時(shí)間關(guān)系,沒有再繼續(xù),問題留到以后再弄,后面有新進(jìn)展,會(huì)持續(xù)更新該文。

spring boot 升級3.x,Spring Boot 3.x,spring boot,微服務(wù),java
javax 的依賴都變成jakarta:
比如原來基于javax.validation包中的驗(yàn)證,javax.validation.constraints.NotNull此類的都需要調(diào)整

Spring Boot 3.0后,很多starter不能用:
Spring Boot 3.0后,以前的spring.factories 不能用了,
只能使用META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports ,對于一些還沒改造的starter都無法使用,目前mybatisplus 已經(jīng)有支持3.0 的 SNAPSHOT版本,其他的druid、nacos 等還適配3.0,要等等了。但我怎么會(huì)坐以待斃,我嘗試自己改造中間件的starter,可還是報(bào)錯(cuò)

Failed to instantiate [org.springframework.boot.env.EnvironmentPostProcessor]: Specified class is an interface

作者其他文章:
Grafana 系列文章,版本:OOS v9.3.1(更新中)

  1. Grafana 的介紹和安裝
  2. Grafana監(jiān)控大屏配置參數(shù)介紹(一)
  3. Grafana監(jiān)控大屏配置參數(shù)介紹(二)
  4. Grafana監(jiān)控大屏可視化圖表

Spring Boot Admin 2 系列文章:文章來源地址http://www.zghlxwxcb.cn/news/detail-786629.html

  1. Spring Boot Admin 參考指南
  2. SpringBoot Admin服務(wù)離線、不顯示健康信息的問題
  3. Spring Boot Admin2 @EnableAdminServer的加載
  4. Spring Boot Admin2 AdminServerAutoConfiguration詳解
  5. Spring Boot Admin2 實(shí)例狀態(tài)監(jiān)控詳解
  6. Spring Boot Admin2 自定義JVM監(jiān)控通知
  7. Spring Boot Admin2 自定義異常監(jiān)控
  8. Spring Boot Admin 監(jiān)控指標(biāo)接入Grafana可視化

到了這里,關(guān)于Spring Boot 3.x微服務(wù)升級經(jīng)歷的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • SAP CAP篇九:升級為SAP CDS 7.0, CAP Java 2以及Spring Boot 3

    SAP CAP篇一: 快速創(chuàng)建一個(gè)Service,基于Java的實(shí)現(xiàn) SAP CAP篇二:為Service加上數(shù)據(jù)庫支持 SAP CAP篇三:定義Model SAP CAP篇四:為CAP添加Fiori Elements程序(1) SAP CAP篇五:為CAP添加Fiori Elements程序(2) SAP CAP篇六:為CAP添加Fiori Elements程序(3) SAP CAP篇七:為CAP添加Fiori Launchpad入口 (Sandbox環(huán)境)

    2024年02月12日
    瀏覽(14)
  • 【Java開發(fā)】 Spring 11 :Spring Boot 項(xiàng)目部署至云服務(wù)器

    【Java開發(fā)】 Spring 11 :Spring Boot 項(xiàng)目部署至云服務(wù)器

    Spring Boot 項(xiàng)目開發(fā)結(jié)束后的工作便是運(yùn)維,簡單來說需要配置?Web 運(yùn)行參數(shù)和項(xiàng)目部署兩大工作,本文將盡可能詳細(xì)地給大家講全! 目錄 1 定制 Web 容器運(yùn)行參數(shù) 1.1?運(yùn)行參數(shù)介紹 1.2?項(xiàng)目搭建 ① 通過 IDEA Spring Initializr 創(chuàng)建項(xiàng)目 ② 添加 Spring Web 等依賴 ③ 編寫 controller 層的

    2023年04月23日
    瀏覽(97)
  • Spring Boot 升級 3.2 報(bào)錯(cuò) Invalid value type for attribute ‘factoryBeanObjectType‘: java.lang.String

    Spring Boot 升級 3.2 報(bào)錯(cuò) Invalid value type for attribute ‘factoryBeanObjectType‘: java.lang.String

    ?? 作者主頁: 有來技術(shù) ?? 開源項(xiàng)目: youlai-mall ?? vue3-element-admin ?? youlai-boot ?? 倉庫主頁: Gitee ?? Github ?? GitCode ?? 歡迎點(diǎn)贊 ?? 收藏 ?留言 ?? 如有錯(cuò)誤敬請糾正! youlai-boot 升級 Spring Boot 3.2 版本項(xiàng)目啟動(dòng)報(bào)錯(cuò): 報(bào)錯(cuò)截圖如下: mybatis-spring 官方 ISSUE: https://githu

    2024年02月03日
    瀏覽(28)
  • Spring Boot 2.x.x 升級至 Spring Boot 3.x.x

    小伙伴們,你們好呀,好久不見,我是老寇,跟我一起升級Spring Boot版本 一、JDK?版本 JDK8 需要升級至 JDK17 二、Spring Boot 版本 Spring Boot 2.x.x 升級至 Spring Boot 3.x.x 三、Java Api 變更 javax?變更成?jakarta 四、自動(dòng)裝配機(jī)制 3.x.x 廢棄?META-INF/spring.factories 3.x.x 改用?META-INF/spring/org.s

    2024年02月05日
    瀏覽(13)
  • Spring Boot 2.5.3升級Spring Boot 3.2.2的方案設(shè)計(jì)及落地計(jì)劃

    調(diào)研升級優(yōu)勢 首先,查看Spring Boot 3.2.2的發(fā)布說明,了解自2.5.3版本以來的所有重要變化,包括新特性、棄用的功能以及任何可能影響現(xiàn)有應(yīng)用的更新。 其次,收集現(xiàn)有項(xiàng)目瓶頸及問題,比如性能瓶頸等。 最后,對Spring Boot 2.x與Spring Boot 3.x進(jìn)行性能、功能測試等,查看對比各

    2024年04月28日
    瀏覽(49)
  • Spring Boot 單體應(yīng)用一鍵升級成 Spring Cloud Alibaba

    Spring Boot 單體應(yīng)用一鍵升級成 Spring Cloud Alibaba

    作者:十眠 隨著 Apache Dubbo、Nacos 以及 Spring Cloud 等服務(wù)框架的流行,越來越多的企業(yè)開始采用微服務(wù)架構(gòu)來構(gòu)建其應(yīng)用程序。微服務(wù)架構(gòu)使企業(yè)能夠?qū)⑵鋺?yīng)用程序拆分成多個(gè)小型服務(wù),這些服務(wù)可以獨(dú)立部署和擴(kuò)展。這種架構(gòu)模式也使企業(yè)更容易實(shí)現(xiàn)敏捷開發(fā)和持續(xù)交付,從

    2024年02月05日
    瀏覽(21)
  • Ubuntu服務(wù)器中java -jar 后臺(tái)運(yùn)行Spring Boot項(xiàng)目

    問:我在我的服務(wù)器中java -jar 運(yùn)行springboot項(xiàng)目,但是我操作不了命令了,必須要終止掉才能執(zhí)行后面的操作,怎么樣才能讓他后臺(tái)運(yùn)行呢?比如我的jar包名是tools-boot-0.0.1-SNAPSHOT.jar 使用nohup命令: 在命令前加上nohup,并通過重定向?qū)⑤敵霰4娴轿募?。例如?問:這個(gè)outp

    2024年02月08日
    瀏覽(29)
  • spring boot 2.7 -> 3.0升級指南

    spring boot提供一個(gè)版本遷移指南?2.7 - 3.0

    2024年02月09日
    瀏覽(29)
  • Java版分布式微服務(wù)云開發(fā)架構(gòu) Spring Cloud+Spring Boot+Mybatis 電子招標(biāo)采購系統(tǒng)功能清單

    Java版分布式微服務(wù)云開發(fā)架構(gòu) Spring Cloud+Spring Boot+Mybatis 電子招標(biāo)采購系統(tǒng)功能清單

    ???一、立項(xiàng)管理 1、招標(biāo)立項(xiàng)申請 功能點(diǎn):招標(biāo)類項(xiàng)目立項(xiàng)申請入口,用戶可以保存為草稿,提交。 2、非招標(biāo)立項(xiàng)申請 功能點(diǎn):非招標(biāo)立項(xiàng)申請入口、用戶可以保存為草稿、提交。 3、采購立項(xiàng)列表 功能點(diǎn):對草稿進(jìn)行編輯,駁回的立項(xiàng)編輯,在途流程查看。 二、項(xiàng)目管

    2024年02月17日
    瀏覽(23)
  • Spring Boot 2.x 到 3.2 的全面升級指南

    Spring Framework 是一種流行的開源企業(yè)級框架,用于創(chuàng)建在 Java Virtual Machine (JVM) 上運(yùn)行的獨(dú)立、生產(chǎn)級應(yīng)用程序。而Spring Boot 是一個(gè)工具,可以讓使用 Spring 框架更快、更輕松地開發(fā) Web 應(yīng)用程序和微服務(wù)。隨著 Spring Boot 的不斷發(fā)展,開發(fā)人員必須跟上最新的升級和變化。 最近

    2024年02月04日
    瀏覽(58)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包