|
此版本仍在开发中,目前尚不稳定。如需最新稳定版本,请使用 Spring Cloud Config 5.0.1! |
AOT 和原生映像支持
自 4.0.0 版本起,Spring Cloud Config Server 支持 Spring AOT 转换。自 4.1.0 版本起,它还支持 GraalVM 原生镜像,但前提是使用 GraalVM 21 或更高版本;不过,用户需要针对已知的 GraalVM 问题添加一些补救措施,具体说明如下。
- 重要
-
由于 Graal 的
FileSystemProvider中存在 [一个缺陷](github.com/oracle/graal/issues/5134),需要添加配置绕过方案,以使配置服务器能够作为原生镜像运行。您需要将以下选项添加到您的 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 运行相比,它仍可能带来收益。请务必针对您的应用程序进行测量和比较。
- TIP
-
如果您正通过 SSH 连接配置数据后端,请注意,GraalVM 要求使用
java.security进行安全提供程序注册 (参见此处)
刷新作用域在原生镜像中不受支持。如果您打算将配置客户端应用程序作为原生镜像运行,请确保将 spring.cloud.refresh.enabled 属性设置为 false。 |