1 從 Spring Boot 3.1 升級 1.1 參數名稱發現 Spring Boot 3.2 使用的 Spring Framework 版本不再嘗試通過解析位元組碼來推斷參數名稱。如果您在依賴註入或屬性綁定時遇到問題,請務必檢查您是否在編譯時使用了 -parameters 選項。有關更多詳細信息 ...
1 從 Spring Boot 3.1 升級
1.1 參數名稱發現
Spring Boot 3.2 使用的 Spring Framework 版本不再嘗試通過解析位元組碼來推斷參數名稱。如果您在依賴註入或屬性綁定時遇到問題,請務必檢查您是否在編譯時使用了 -parameters
選項。有關更多詳細信息,請參閱 "升級到 Spring Framework 6.x" wiki 的此部分。
1.2 記錄的應用程式名稱
每當設置 spring.application.name
屬性時,預設的日誌輸出就會包含您的應用程式名稱。如更喜歡之前格式,可將 logging.include-application-name
置 false
。
1.3 自動配置的用戶詳細信息服務
若在類路徑存在 spring-security-oauth2-client
、spring-security-oauth2-resource-server
和 spring-security-saml2-service-provider
中的一個或多個,而且從 3.2.2 開始,既沒有配置 spring.security.user.name
也沒有配置 spring.security.user.password
,則自動配置的 InMemoryUserDetailsManager
現在將退出。同樣,在反應式應用程式中,如果在類路徑上存在 spring-security-oauth2-client
和 spring-security-oauth2-resource-server
中的一個或多個,而且從 3.2.2 開始,既沒有配置 spring.security.user.name
也沒有配置 spring.security.user.password
,則自動配置的 MapReactiveUserDetailsService
現在也將退出。
如果您正在使用上述依賴項之一,但仍然需要在應用程式中使用 InMemoryUserDetailsManager
或 MapReactiveUserDetailsService
,請在應用程式中定義所需的 bean,或者從 Spring Boot 3.2.2 開始,配置 spring.security.user.name
和 spring.security.user.password
中的一個或兩個。
1.4 OTLP 跟蹤端點
management.otlp.tracing.endpoint
的預設值已被刪除。只有當 management.otlp.tracing.endpoint
有值時,才會自動配置 OtlpHttpSpanExporter
bean。要恢複舊行為,請設置 management.otlp.tracing.endpoint=http://localhost:4318/v1/traces
。
1.5 嵌套 Jar 支持
支持 Spring Boot "Uber Jar" 載入的底層代碼已被重寫,因為我們不再需要支持 Java 8。更新後的代碼使用了一種新的 URL 格式,該格式更符合 JDK 的期望。之前的 URL 格式 jar:file:/dir/myjar.jar:BOOT-INF/lib/nested.jar!/com/example/MyClass.class
已被替換為 jar:nested:/dir/myjar.jar/!BOOT-INF/lib/nested.jar!/com/example/MyClass.class
。更新後的代碼還使用了 java.lang.ref.Cleaner
(這是 JDK 9 的一部分)來管理資源。
我們已盡一切努力確保新代碼在儘可能大的程度上是對之前實現的透明替換。我們預計大多數用戶甚至不會註意到這種變化。您可能會註意到變化的一個領域是,如果您直接引用了啟動器類之一,因為它們在新的預設啟動器中有新的名稱:
新 | 經典 |
---|---|
org.springframework.boot.loader.launch.JarLauncher |
org.springframework.boot.loader.JarLauncher |
org.springframework.boot.loader.launch.PropertiesLauncher |
org.springframework.boot.loader.PropertiesLauncher |
org.springframework.boot.loader.launch.WarLauncher |
org.springframework.boot.loader.WarLauncher |
但是,如果您發現新實現存在任何意外行為,我們也提供了一個回退選項,允許您使用舊代碼。
對於 Maven 用戶,您可以將 spring-boot-plugin
配置中的 <loaderImplementation>
標簽設置為 CLASSIC
。例如:
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<executions>
<execution>
<goals>
<goal>repackage</goal>
</goals>
<configuration>
<loaderImplementation>CLASSIC</loaderImplementation>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
1.6 Spring Boot 3.0 中的棄用情況
在本次發佈中,已刪除 Spring Boot 3.0 中已棄用的類、方法和屬性。升級之前,請確保您沒有調用已棄用的方法。
1.7 日誌關聯 ID
只要使用 Micrometer 跟蹤,Spring Boot 就會自動記錄關聯 ID。參閱更新後的文檔。
如果您自己配置了跟蹤 id 和 span id 的日誌記錄,例如以下內容:
logging.pattern.level=%5p [${spring.application.name:},%X{traceId:-},%X{spanId:-}]
您現在可以將其刪除。應用程式名稱、跟蹤 id 和 span id 現在預設包含在內。
1.8 RestClient 支持
Spring Boot 3.2 包括對新的 RestClient
介面的支持,該介面已在 Spring Framework 6.1 中引入。此介面提供了一種類似於 WebClient
設計的函數式阻塞 HTTP API。
現有和新的應用程式可能需要考慮使用 RestClient
作為 RestTemplate
的替代方案。
詳參更新後的參考文檔。
1.9 RestTemplate HTTP 客戶端
當類路徑上存在 Jetty 的 HttpClient
時,Spring Boot 的 HTTP 客戶端自動檢測將配置 RestTemplateBuilder
使用 Spring Framework 6.1 中新引入的 JettyClientHttpRequestFactory
。
對 JdkClientHttpRequestFactory
的支持已添加到 ClientHttpRequestFactories
。與 JettyClientHttpRequestFactory
不同,它尚未添加到自動檢測中。要使用 JdkClientHttpRequestFactory
,您必須主動啟用:
@Bean
RestTemplateBuilder restTemplateBuilder(RestTemplateBuilderConfigurer configurer) {
return configurer.configure(new RestTemplateBuilder())
.requestFactory(
(settings) -> ClientHttpRequestFactories.get(JdkClientHttpRequestFactory.class, settings));
}
1.10 對 JdbcClient
的支持
基於 NamedParameterJdbcTemplate
的存在,已添加了對 [JdbcClient
](https://docs.spring .io/spring-boot/docs/3.2.0/reference/html//data.html#data.sql.jdbc-client) 的自動配置。如果後者是自動配置的,則會考慮 spring.jdbc.template.*
屬性。
1.11 對虛擬線程的支持
Spring Boot 3.2 附帶對虛擬線程的支持。要使用虛擬線程,您需要運行在 Java 21 上,並將屬性 spring.threads.virtual.enabled
設置為 true
。
① Servlet Web 伺服器
啟用虛擬線程時,Tomcat 和 Jetty 將使用虛擬線程進行請求處理。這意味著您處理 Web 請求的應用程式代碼(如控制器中的方法)將在虛擬線程上運行。
② 使用 Spring WebFlux 的阻塞執行
當虛擬線程啟用時,Spring WebFlux 對阻塞執行的支持會自動配置為使用 applicationTaskExecutor
bean (如果它是一個 AsyncTaskExecutor
)。無論是預設情況下還是啟用虛擬線程時,applicationTaskExecutor
都是一個 AsyncTaskExecutor
。
③ 任務執行
當啟用虛擬線程時,applicationTaskExecutor
bean 將是一個配置為使用虛擬線程的 SimpleAsyncTaskExecutor
。任何使用應用程式任務執行器的地方,例如調用 @Async
方法時的 @EnableAsync
、Spring MVC 的非同步請求處理以及 Spring WebFlux 的阻塞執行支持,現在都將利用虛擬線程。與以前一樣,任何 TaskDecorator
bean 都會應用於自動配置的執行器,並且 spring.task.execution.thread-name-prefix
屬性也會應用。其他 spring.task.execution.*
屬性將被忽略,因為它們特定於基於池的執行器。
現在應用程式上下文中提供了 SimpleAsyncTaskExecutorBuilder
,可用於構建 SimpleAsyncTaskExecutor
。如果啟用了虛擬線程,SimpleAsyncTaskExecutorCustomizer
bean 可用於自定義構建的 SimpleAsyncTaskExecutor
。構建器將自動配置為使用它們。
④ 任務調度
當啟用虛擬線程時,taskScheduler
bean 將是一個配置為使用虛擬線程的 SimpleAsyncTaskScheduler
。將應用 spring.task.scheduling.thread-name-prefix
屬性和 spring.task.scheduling.simple.*
屬性。其他 spring.task.scheduling.*
屬性將被忽略,因為它們特定於基於池的調度程式。
現在應用程式上下文中提供了 SimpleAsyncTaskSchedulerBuilder
,可用於構建 SimpleAsyncTaskScheduler
。如果啟用了虛擬線程,SimpleAsyncTaskSchedulerCustomizer
bean 可用於自定義構建的 SimpleAsyncTaskScheduler
。構建器將自動配置為使用它們。
⑥ 使 JVM 保持活動狀態
現在有一個新屬性叫做 spring.main.keep-alive
。當設置為 true
時,即使所有其他線程都是虛擬線程(或守護線程),JVM 也會保持活動狀態。
⑦ 特定技術集成
啟用虛擬線程時,以下特定技術集成適用:
- 為 RabbitMQ 監聽器自動配置了一個虛擬線程執行器。
- 為 Kafka 監聽器自動配置了一個虛擬線程執行器。
- Spring Data Redis 的
ClusterCommandExecutor
將使用虛擬線程。 - Spring for Apache Pulsar 將為自動配置的
ConcurrentPulsarListenerContainerFactory
和DefaultPulsarReaderContainerFactory
使用VirtualThreadTaskExector
。
1.12 對 JVM 檢查點/恢復的初始支持
Spring Boot 3.2 附帶對 JVM 檢查點/恢復(Project CRaC)的初始支持。有關更多詳細信息,請參閱相關文檔。
1.13 SSL 捆綁包重新載入
現在可以在信任材料發生變化時自動重新載入 SSL 捆綁包。捆綁包必須選擇啟用此功能,將其 reload-on-update
屬性設置為 true
。捆綁包的使用者也必須支持重新載入。
支持重新載入的使用者包括:
- Netty Web 伺服器
- Tomcat Web 伺服器
有關 SSL 捆綁包重新載入的更多信息,可以在參考文檔中找到。
1.14 可觀測性改進
您現在可以使用 Micrometer 的 @Timed
、@Counted
、@NewSpan
、@ContinueSpan
和 @Observed
註解。如果類路徑上有 AspectJ,它們的 aspects 現在將自動配置。
Micrometer Tracing 的 ObservationHandler
bean 現在自動註冊到 ObservationConfig
。在 Spring Boot 3.2.0 之前,未分類的處理程式會在分類處理程式之前註冊。現在這一點已被顛倒,分類的處理程式現在會在未分類的處理程式之前註冊。有關詳細信息,請參閱 #34399。
B3 跟蹤傳播的預設格式已從 single-no-parent 更改為 single。
@Scheduled
方法現在已針對可觀測性進行了檢測。
已添加了對 R2DBC 的可觀測性支持。要啟用它,請在項目中包含 io.r2dbc:r2dbc-proxy
依賴項。
① 屬性
現在有一個名為 spring.reactor.context-propagation
的新配置屬性,用於控制反應式管道中的上下文傳播。要在您的反應式管道中自動傳播觀察結果、跟蹤 id 和 span id,請將該屬性設置為 auto
。
現在可以通過屬性禁用以特定首碼開頭的觀察結果。例如,要防止 Spring Security 報告觀察結果,請設置 management.observations.enable.spring.security=false
。
屬性 management.observations.key-values.*
可用於自動將低基數鍵值應用於所有觀察結果。例如,設置 management.observations.key-values.region=us-west
將向所有觀察結果添加鍵 region
和值 us-west
。
② OpenTelemetry
如果在上下文中找到 OpenTelemetry MeterProvider
bean,它將自動註冊到 BatchSpanProcessor
。
OpenTelemetry 的自動配置已經改進。如果上下文中有 SdkLoggerProvider
或 SdkMeterProvider
類型的 bean,它將自動註冊到 OpenTelemetry
bean 上。此外,OpenTelemetry 的 Resource
現在作為 bean 暴露,並且有一個新的配置屬性 management.opentelemetry.resource-attributes
,用於配置資源屬性。
如果您正在使用 OpenTelemetry 並希望對應用的 SpanProcessor
有更多控制,您現在可以定義一個 SpanProcessors
類型的 bean。預設情況下,所有可用的 SpanProcessor
bean 都會應用。對於 OpenTelemetry 的 SpanExporter
,使用 SpanExporters
bean 來覆蓋預設值。預設情況下,它會應用所有可用的 SpanExporter
bean。
③ Micrometer 1.12 中更廣泛的示例支持
Micrometer 1.12 包括一個擴大示例支持的功能,這需要 Prometheus 2.43 或更高版本。如果您使用的是 2.43.0 之前的 Prometheus 版本,並且您正在使用 Micrometer Tracing,請升級到 Prometheus >= 2.43.0,否則指標將不再顯示。
④ 測試中的可觀測性
在 Spring Boot 3.2 之前,當運行集成測試時,整個 Micrometer Tracing、Brave 和 OpenTelemetry 基礎設施都會被禁用。這一點已經過修改:只有最少數量的 bean 被禁用,因此不會向後端發送任何 span(有關將被禁用的 bean 列表,請參閱 #35354)。如果您有自定義的 Brave SpanHandler
或 OpenTelemetry SpanExporter
bean,請務必使用 @ConditionalOnEnabledTracing
註解對它們進行註解,這樣在運行禁用了可觀測性的集成測試時,它們就不會被創建。
如果您希望在啟用可觀測性的情況下運行集成測試,您可以在測試類上使用 @AutoConfigureObservability
註解。
1.15 Docker 鏡像構建
預設的 CNB 構建器已升級
當使用 Maven 和 Gradle 插件構建鏡像時,使用的預設 CNB 構建器已經更改。當應用### 直譯續
GraalVM 插件到構建時,新的預設構建器是 paketobuildpacks:builder-jammy-tiny
。否則,新的預設構建器是 paketobuildpacks:builder-jammy-base
。有關這些構建器的更多信息,請參閱 Paketo 文檔。
以前的預設構建器包含了基於 Ubuntu 18.04 的運行映像,而新的預設值包含了基於 Ubuntu 22.04 的運行映像。這意味著使用新的預設值構建的任何映像都將基於 Ubuntu 22.04。
Docker 主機配置
spring-boot:build-image
Maven 目標和 bootBuildImage
Gradle 任務現在使用 Docker CLI 配置文件來確定要使用的 Docker 守護進程的主機地址和其他連接詳細信息。有關更多信息,請參閱 Gradle 和 [Maven](https://docs.spring.io/spring-boot /docs/3.2.0/maven-plugin/reference/htmlsingle/#build-image.docker-daemon) 插件文檔。
用於緩存的綁定掛載
現在可以配置 CNB 構建器和 buildpack 使用的構建和啟動緩存,以使用綁定掛載而不是命名捲。BitBucket CI 的用戶要求提供此功能,因為它們不允許從 CI 管道訪問卷。有關更多信息和示例,請參閱 [Maven](https://docs.spring.io/spring-boot/docs/3.2.0/maven-plugin/reference/htmlsingle/#build -image.examples.caches) 和 Gradle 文檔。
構建工作區配置
現在可以配置 CNB 構建器和 buildpack 使用的臨時構建工作區,以使用綁定掛載或自定義命名捲。有關更多信息和示例,請參閱 Maven 和 Gradle 文檔。
安全選項配置
現在可以自定義應用於 CNB 構建器容器的安全選項,以支持不允許使用預設 Linux 安全選項 label=disable
的 Docker 環境。有關更多信息,請參閱 Maven 和 Gradle 文檔。
對 Spring for GraphQL 的可調用支持
現在Spring for GraphQL 被自動配置為使用 applicationTaskExecutor
。這為控制器方法返回 Callable
提供了開箱即用的支持。
其他 OAuth2 令牌驗證器
自動配置的 JwtDecoder
或 ReactiveJwtDecoder
現在將使用任何 OAuth2TokenValidator<Jwt>
bean 進行令牌驗證。它們包含在配置為解碼器的驗證器的 DelegatingOAuth2TokenValidator
中。
對 ActiveMQ 的服務連接支持
已添加對 ActiveMQ 的 ServiceConnection
支持,並針對 Testcontainers 和 Docker Compose 提供了集成。該集成使用 symptoma/activemq
鏡像。
對 Neo4j 的 Docker Compose 支持
Spring Boot 的 Docker Compose 集成現在支持 Neo4j。您必須在 compose YAML 中配置 NEO4J_AUTH
環境變數,以禁用身份驗證(值為 none
)或為 neo4j
用戶設置密碼(值為 neo4j/your-password
)。
WebSocketServerSpec 配置
自動配置使用的 WebSocketServerSpec
現在可以使用 spring.rsocket.server.spec
命名空間下的屬性進行自定義。
Neo4j AuthTokenManager
如果定義了 AuthTokenManager
bean,它將用於 Neo4j 的身份驗證。這種 bean 優先於 spring.neo4j.authentication.*
屬性。如果定義了自定義 Neo4jConnectionDetails
(例如用於 Testcontainers 或 Docker Compose 管理的資料庫的服務連接),則會忽略 AuthTokenManager
bean。
RabbitMQ
SSL 捆綁包支持
現在可以使用 spring.rabbitmq.ssl.bundle
屬性將 RabbitMQ 連接配置為使用來自 SSL 捆綁包的信任材料。這提供了一種替代方法,而不是使用現有的 spring.rabbitmq.ssl
屬性提供 Java 密鑰庫文件作為信任材料。
限制消息正文大小
最新版本的 RabbitMQ Java 客戶端預設將傳入消息的正文大小限製為 64MB。spring.rabbitmq.max-inbound-message-body-size
配置屬性已引入,用於自定義此限制。
RabbitMQ Stream 的虛擬主機支持
已添加對 RabbitMQ Stream 的虛擬主機支持。如果沒有顯式設置,RabbitMQ Stream 的虛擬主機將自動使用為 RabbitMQ 配置的虛擬主機。要為 RabbitMQ Stream 使用特定的虛擬主機,請設置 spring.rabbitmq.stream.virtual-host
。
Kafka
SSL 捆綁包支持
現在可以使用 spring.kafka.ssl.bundle
屬性將 Kafka 連接配置為使用來自 SSL 捆綁包的信任材料。這提供了一種替代方法,而不是使用現有的 spring.kafka.ssl
屬性提供 Java 密鑰庫文件作為信任材料。
JMS 會話
已引入新屬性用於配置自動配置的 JmsTemplate
創建的會話:
spring.jms.template.session.acknowledge-mode
spring.jms.template.session.transacted
類似地,還引入了 spring.jms.listener.session.transacted
屬性,用於自動配置的 JmsMessageListenerContainer
。
為與這些新屬性保持一致,請註意,現有的 spring.jms.listener.acknowledge-mode
屬性已被棄用,並引入了### 直譯續
spring.jms.listener.session.acknowledge-mode
作為替代。
Oracle UCP 數據源上的連接驗證
已刪除了 Oracle UCP 數據源上連接驗證的預設值。在 3.2.0-RC1 之前,預設情況下啟用了連接驗證,現在不再是這種情況。如果您需要連接驗證,請將配置屬性 spring.datasource.oracleucp.validate-connection-on-borrow
設置為 true
。
testAndDevelopmentOnly Gradle 配置
除了 developmentOnly
,Spring Boot 的 Gradle 插件現在還創建了一個 testAndDevelopmentOnly
配置。與 developmentOnly
不同,此新配置中的依賴項將包含在測試編譯和運行時類路徑中。它主要供那些在[開發時使用 Testcontainers](https://docs.spring.io/spring-boot/docs/3.2.0/reference/html/features.html#features.testing.testcontainers .at-development-time) 的應用程式使用。
其他
除了上述更改之外,還有許多小的調整和改進,包括:
- 現在可以使用配置屬性
spring.jackson.datatype.enum.
和spring.jackson.datatype.jsonnode.
分別啟用和禁用 Jackson 的EnumFeature
和JsonNodeFeature
中聲明的功能。 - 現在可以通過使用
Provider
為其他構建信息屬性設置延遲值。 - 事務管理器自定義現在適用於任何類型的
TransactionManager
,而不僅僅是PlatformTransactionManager
。 - 任何
TransactionExecutionListener
bean 現在都會添加到自動配置的事務管理器中。 - 當嵌入式 WebServer 啟動時記錄的埠信息已得到改進和統一。
- 新增加的屬性
spring.servlet.multipart.strict-servlet-compliance
用於設置是否僅對multipart/form-data
請求使用多部分處理。 - 當歡迎頁面的處理程式收到無效的
Accept
頭時,已減少日誌記錄,並會退回到接受所有 MIME 類型。 - 已添加
RestClientBuilderConfigurer
,可用於將 Spring Boot 的預設設置應用於RestClient.Builder
。 restTemplateBuilderConfigurer
bean 不再退出定義了用戶 bean。如果您之前有自己的restTemplateBuilderConfigurer
bean,請將其刪除。- 已添加一個屬性,可用於配置 Jetty 伺服器的最大連接數。
- 已添加一個新屬性,可用於在使用 PEM SSL 捆綁包時驗證密鑰。
- 以編程方式創建
PemSslStoreBundle
時,現在可以提供密鑰庫密碼。 - 如果未明確設置
service.name
,現在將使用spring.application.name
作為 OpenTelemetry 的service.name
。 - 已添加一個新屬性,可用於配置 OTLP 註冊表中導出指標的基本
TimeUnit
。 - 現在有了 OTLP 指標和跟蹤的連接詳細信息支持。如果使用 Testcontainers 或 Docker Compose 與
otel/opentelemetry-collector-contrib
鏡像,將自動創建連接詳細信息 bean。 - 已添加對使用 Wavefront 時的 CSP 身份驗證的支持。
- 一個新屬性
flyway.postgresql.transactional-lock
可用於配置 Flyway 對 PostgreSQL 的事務鎖定使用。 - 添加了對 Kafka MessageListenerContainer
changeConsumerThreadName
屬性的支持。 - 自動配置
Function<MessageListenerContainer, String>
bean 到 Kafka MessageListenerContainer 的threadNameSupplier
。 - 已引入新的
@ConditionalOnThreading
註解,以幫助自動配置虛擬線程相關的問題。 - 添加了對 RabbitMQ 容器
forceStop
屬性的支持。 - 基於
WebClient
的 Zipkin 發送器現在會遵守通過配置屬性設置的超時。有關詳細信息,請參閱 #36264。 - 當在啟用了 AOT 模式但構建中沒有進行 AOT 處理的情況下啟動應用程式時,錯誤消息現在更加明確。
- 在使用 GraalVM 時,現在自動提供了
messages.properties
和messages_*.properties
的資源提示。 - 現在提供了 Kotlin 序列化的依賴項管理。
- Awaitility (
org.awaitility:awaitility
) 現在是spring-boot-starter-test
的一部分。 - 在使用
@JdbcTest
和@DataJpaTest
的測試中,自動配置的JdbcClient
bean 現在可用。 - 在自動配置
MockMvc
時,現在使用它們的註冊 bean 的分派器類型和初始化參數註冊過濾器。 - 現在可以並行初始化 Testcontainers。為此,請將
spring.testcontainers.beans.startup
設置為parallel
。 - 支持
spring.kafka.template.observation-enabled
屬性,以支持 Micrometer 觀察。
3.2.0廢除的
OkHttp 3 的支持已被棄用,有利於 OkHttp 4
-
spring-boot:run
、spring-boot:start
和spring-boot:test-run
Maven 目標的directories
屬性已被棄用,有利於additionalClasspathElements
。 -
定義在
LoggingSystemProperties
和LogbackLoggingSystemProperties
中的大多數常量已被棄用,改為使用枚舉值。 -
ClientHttpRequestFactorySettings
和RestTemplateBuilder
中啟用請求緩衝的支持已被棄用。雖然 API 以棄用的形式保留,但配置它將不會產生任何效果,這與 Spring Framework 6.1 中的類似更改一致。 -
使用
context.initializer.classes
環境屬性註冊額外的ApplicationContextInitializer
已被棄用,改為以編程方式或在 spring.factories 中註冊每個代理。 -
使用
context.listener.classes
環境屬性註冊額外的ApplicationListener
已被棄用,改為以編程方式或在 spring.factories 中註冊每個代理。 -
由擴展程式管理的 Flyway 屬性已移動到專用命名空間。因此,
flyway.oracle*
屬性已移動到flyway.oracle.*
。同樣,spring.flyway.sql-server-kerberos-login-file
已移動到spring.flyway.sqlserver.kerberos-login-file
。 -
InfluxDB 的支持已被棄用,有利於新的 InfluxDB Java 客戶端及其自己的 Spring Boot 集成。
-
配置屬性
management.otlp.metrics.export.resource-attributes
已被棄用,有利於新的management.opentelemetry.resource-attributes
。 -
TaskExecutorBuilder
已被棄用,有利於ThreadPoolTaskExecutorBuilder
。 -
TaskSchedulerBuilder
已被棄用,有利於ThreadPoolTaskSchedulerBuilder
。 -
配置屬性
spring.jms.listener.concurrency
的替代品是spring.jms.listener.min-concurrency
。 -
配置屬性
spring.jms.listener.acknowledge-mode
的替代品是spring.jms.listener.session.acknowledge-mode
。 -
PlatformTransactionManagerCustomizer
的替代品是TransactionManagerCustomizer
。 -
TransactionManagerCustomizers(Collection<? extends PlatformTransactionManagerCustomizer<?>>)
的替代品是TransactionManagerCustomizers#of(Collection<? extends TransactionManagerCustomizer<?>>)
。 -
不再推薦使用
DelegatingApplicationContextInitializer
和DelegatingApplicationListener
,因為基於屬性的初始化不再推薦。 -
PemSslStoreBundle
中的一些過時的構造函數以及PemSslStoreDetails
中的certificate
訪問器已被棄用。 -
TaskExecutorCustomizer
已被棄用,有利於ThreadPoolTaskExecutorCustomizer
-
TaskSchedulerBuilder
已被棄用,有利於ThreadPoolTaskSchedulerBuilder
-
TaskSchedulerCustomizer
已被棄用,有利於ThreadPoolTaskSchedulerCustomizer
-
NettyWebServer
中的一些過時的構造函數已被棄用
本文由博客一文多發平臺 OpenWrite 發佈!