AOT 和 Native Image 支援
自 4.0.0
起,Spring Cloud Config Server 支援 Spring AOT 轉換。從 4.1.0
開始,它還支援 GraalVM native images,只要使用 GraalVM 21 或更高版本,但是它需要使用者為已知的 GraalVM 問題新增一些解決方法,如下所述。
- 重要提示
-
由於 Graal 的
FileSystemProvider
中的 [一個錯誤](github.com/oracle/graal/issues/5134),需要新增一個配置解決方法,以允許 Config Server 作為 native image 執行。您需要將以下選項新增到您的 GraalVM 構建外掛設定中(有關更多詳細資訊,請參閱 GraalVM Maven 或 Gradle 外掛文件)
-H:-AddAllFileSystemProviders
--strict-image-heap
--initialize-at-build-time=org.bouncycastle
--initialize-at-build-time=net.i2p.crypto.eddsa.EdDSASecurityProvider
--initialize-at-run-time=org.bouncycastle.jcajce.provider.drbg.DRBG$Default
--initialize-at-run-time=org.bouncycastle.jcajce.provider.drbg.DRBG$NonceAndIV
- 注意
-
新增額外的構建時初始化可能會影響效能,但與常規 JVM 執行相比,它仍然可以提供收益。 請務必測量並比較您的應用程式。
- 提示
-
如果您透過 SSH 連線到您的配置資料後端,請記住 GraalVM 需要使用
java.security
進行安全提供程式註冊
Native Image 不支援重新整理範圍。 如果您要將配置客戶端應用程式作為 Native Image 執行,請確保將 spring.cloud.refresh.enabled 屬性設定為 false 。 |