Spring Native 0.11.4 现已发布。Spring Native(前身为 Spring GraalVM Native,Spring 社区试验性项目)通过使用 GraalVM 原生镜像编译器将 Spring 应用程序编译为独立的系统原生可执行文件(无需安装 JVM),提供了一种在轻量级容器中原生部署 Spring 应用程序的新方法,支持 Java 和 Kotlin,并提供有趣的特性,包括几乎即时启动(通常<100ms),即时峰值性能和较低的内存消耗,但所需的构建时间和运行时优化次数少于 JVM。目标是在此新平台上几乎不做修改就能支持 Spring Boot 应用程序。
具体更新内容如下:
兼容性
- 支持 native tests 的应用程序类的 native hints
- Native-tests 在 GraalVM 22.1 中被破坏
- webmvc-kotlin 在 GraalVM 22.1 中 fail
- webflux-kotlin 在 GraalVM 22.1 中 fail
- session-redis-webflux 在 GraalVM 22.1 中 fail
- events 在 GraalVM 22.1 中 fail
- data-r2dbc-kotlin 在 GraalVM 22.1 中 fail
- commandlinerunner-log4j2 在 GraalVM 22.1 中 fail
- cloud-function-netty 在 GraalVM 22.1 中 fail
- grpc sample 在 GraalVM 22.1 中 fail
- GraalVM for Apple Silicon:management.metrics.distribution 错误
- 添加 Jackson PropertyNamingStrategies 的提示
- Spring Native 0.11.3 + 最新的 Spring Data JPA 和 Sleuth Zipkin 在 Bootstrap 期间出现故障
- Spring Security - AuthenticationFailureBadCredentialsEvent 没有合适的构造函数
- Spring 安全方法缺少提示
Bug 修复
- Spring Aot Maven 插件在 Maven Compiler Plugin > 3.8.1 时无法工作
- 在 IntelliJ 中重新加载 Gradle 项目会导致生成的 AOT 源被删除
- 模糊检查仅适用于构造函数
- 如果参数值具有未解析的泛型,则无法检测到工厂方法的可执行文件
- Record 上的 @ConfigurationProperties 与 @Validated - 即使在 0.11.3 中,本机构建仍然失败
- ASM visitors 应该使用 SpringAsmInfo.ASM_VERSION 而不是硬编码的 ASM 版本
- com.ecwid.consul.v1.kv.model.GetValue 类被反射实例化但从未注册
文档
- 删除程序化的 Logback 配置文档
依赖升级
- 升级到 Native Build Tools 0.9.11
- 升级到 Spring Boot 2.6.6
更新说明:https://github.com/spring-projects-experimental/spring-native/releases/tag/0.11.4
猜你喜欢:暂无回复。