quarkus 3.16.0¶
为什么要使用quarkus¶
在当今快速发展的技术世界中,开发者面临着一个矛盾:如何在保持高效的同时,确保应用程序的灵活性和可扩展性?Quarkus应运而生,它不仅能帮助开发者快速构建现代化的云原生应用,还能在性能和开发体验之间找到完美的平衡。想象一下,您可以在几秒钟内启动一个微服务,而不是等待数分钟。Quarkus的出现,正是为了打破这种时间和效率的桎梏,让开发者在构建应用时,能够更加专注于创新,而不是繁琐的配置和调试。
quarkus是什么¶
Quarkus是一个开源的Java框架,专为云原生应用和微服务架构设计。它结合了传统Java EE和现代开发工具的优势,提供了快速启动时间和低内存占用的特性。Quarkus支持多种编程模型,包括反应式编程和传统的阻塞式编程,使得开发者可以根据项目需求灵活选择。
入门示例¶
想象一下,您正在开发一个在线购物平台,您需要一个高效的后端服务来处理用户请求。使用Quarkus,您可以快速创建一个RESTful API,只需几行代码。首先,您可以通过Maven命令生成一个新的Quarkus项目:
mvn io.quarkus:quarkus-maven-plugin:2.0.0.Final:create \
-DprojectGroupId=com.example \
-DprojectArtifactId=shopping-cart \
-DclassName="com.example.ShoppingCartResource" \
-Dpath="/cart"
接下来,您只需在ShoppingCartResource
类中添加一些简单的逻辑,就可以快速启动服务并处理用户的购物请求。Quarkus的热重载功能使得您在开发过程中可以实时看到更改效果,大大提高了开发效率。
quarkus 3.16.0版本更新了什么¶
Quarkus 3.16.0版本带来了多个重要更新,包括修复了多个插件同步问题,增强了GraphQL的开发界面,改进了JSON序列化的多态类型支持,以及优化了Kafka的原生库支持。此外,还更新了JUnit版本,确保了测试的兼容性和稳定性。
更新日志¶
完整更新日志¶
- 自定义列名更改为不存在的列名的问题已修复。
- Quarkus插件同步不再移除由扩展提供的插件。
- 修复了Quarkus插件同步的故障。
- 在开发界面中添加了GraphQL脚注日志。
- 修复了Quarkus REST在JSON中写入多态类型属性的失败问题。
- 使用方法的通用返回类型构建适当的Jackson写入器。
- 修复了在native aarch64上Kafka的snappy转换失败的问题。
- 修复了使用OpenTelemetry和max-connections属性时的ClassCastException。
- WebSockets的安全性清理。
- 在Windows上不再无条件传递'--enable-monitoring=heapdump'。
- 将snappy原生库资源注册移动到特性中。
- 更新JUnit版本至5.10.5。
- 修复了在热重载时Qute中的NPE问题。
- 更改了消息模板加载方式。
- 使用原始查询大小写进行快速计数查询。
- 移除关于Mongo中DNS的过时部分。
- 升级至Hibernate Commons Annotations 7.0.3.Final。
- 添加强制使用C2的开发模式设置。
- 检查缓存的OIDC令牌内省的过期情况。
- 添加RESTEasy类的多部分能力。
- 用通用的屏幕截图替换GitHub的OIDC认证。
- 避免在配置QuarkusApplicationModelTask时强制解析。
总结¶
Quarkus 3.16.0版本的更新不仅修复了多个关键问题,还增强了开发者的体验,提升了性能和稳定性。这些改进使得Quarkus在构建现代云原生应用时,成为一个更加可靠和高效的选择。