AOT 和原生镜像支持

4.0.0 版本起,Spring Cloud Config Server 支持 Spring AOT 转换。从 4.1.0 版本起,它还支持 GraalVM 原生镜像,只要使用 GraalVM 21 或更高版本,但是它要求用户为已知的 GraalVM 问题添加一些变通方案,如下所述。

由于 Graal 的 FileSystemProvider 存在 一个 bug,需要添加一个配置变通方案,以允许 Config Server 作为原生镜像运行。你需要向你的 GraalVM 构建插件设置中添加以下选项(请参阅 适用于 GraalVM 的 Maven 插件适用于 GraalVM 的 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 进行安全提供者注册
原生镜像不支持刷新范围。如果你将把你的配置客户端应用程序作为原生镜像运行,请确保将 spring.cloud.refresh.enabled 属性设置为 false
© . This site is unofficial and not affiliated with VMware.