Java近期新闻综述:Spring 6.0和SpringBoot 3.0、OpenJDK和Quarkus更新的路线图

{"type":"doc","content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"本周Java综述:SpringOne的2021年8月30日的特性新闻中披露了Spring Framework 6.0和Spring Boot 3.0的路线图、OpenJDK JEPs的更新、JDK 18、Quarkus 2.1和2.2发行系列的更新、MicroProfile API候选发行版、Open Liberty 21.0.0.9、Hibernate 5.6.0.Beta1、GraaIVM Native Build Tools 0.9.4和一个新的用于Helidon程序的JHipster项目。"}]},{"type":"heading","attrs":{"align":null,"level":3},"content":[{"type":"text","text":"OpenJDK"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"对于JDK 18,JEP 400("},{"type":"link","attrs":{"href":"https:\/\/openjdk.java.net\/jeps\/400","title":null,"type":null},"content":[{"type":"text","text":"默认情况下为UTF-8"}],"marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}]},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":")已从"},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}},{"type":"strong"}],"text":"Proposed to Target"},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"状态提升到"},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}},{"type":"strong"}],"text":"Integrated"},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"状态。这个JEP规定"},{"type":"link","attrs":{"href":"https:\/\/www.utf8-chartable.de\/","title":null,"type":null},"content":[{"type":"text","text":"UTF-8"}],"marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}]},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"是标准Java APIs的默认字符集,来确保在所有实现、操作系统、区域设置和配置中保持一致性。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"在升级到"},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}},{"type":"strong"}],"text":"Proposed to Target"},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"状态一周后,JEP 413(Java API文档中的代码片段)已经升级到JDK 18的"},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}},{"type":"strong"}],"text":"Targeted"},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"状态。该JEP为Oracle的"},{"type":"link","attrs":{"href":"https:\/\/docs.oracle.com\/javase\/8\/docs\/technotes\/guides\/javadoc\/standard-doclet.html","title":null,"type":null},"content":[{"type":"text","text":"Standard Doclet"}],"marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}]},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"引入了"},{"type":"codeinline","content":[{"type":"text","text":"@snippet"}],"marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}]},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" 标记,这是一个众所周知的Java API文档工具,可生成默认的HTML格式的输出。其目的是简化API文档中示例源代码的包含。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"JEP 418(互联网地址解析SPI,"},{"type":"link","attrs":{"href":"https:\/\/openjdk.java.net\/jeps\/418","title":null,"type":null},"content":[{"type":"text","text":"Internet-Address Resolution SPI"}],"marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}]},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":")已从"},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}},{"type":"strong"}],"text":"Draft"},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"状态提升到"},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}},{"type":"strong"}],"text":"Candidate"},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"状态。该JEP建议为主机名和地址解析定义一个服务提供者接口,以便"},{"type":"codeinline","content":[{"type":"text","text":"java.net.InetAddress"}],"marks":[{"type":"color","attrs":{"color":"#0e5ef1","name":"user"}}]},{"type":"text","text":" 可以利用默认的内置OpenJDK解析器之外的解析器。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"Azul的开源项目高级主管"},{"type":"link","attrs":{"href":"https:\/\/www.linkedin.com\/in\/geertjanwielenga\/","title":null,"type":null},"content":[{"type":"text","text":"Geertjan Wielenga"}],"marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}]},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":", "},{"type":"link","attrs":{"href":"https:\/\/foojay.io\/today\/works-with-openjdk\/","title":null,"type":null},"content":[{"type":"text","text":"发起"}],"marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}]},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"了一场“用OpenJDK工作”活动,以突出在OpenJDK之上构建的应用程序。这场活动鼓励Java开发者添加如下所示的徽章。例如,这个徽章可以添加到应用程序GitHub仓库的"},{"type":"codeinline","content":[{"type":"text","text":"README.md"}],"marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}]},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" 文件中。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"image","attrs":{"src":"https:\/\/static001.geekbang.org\/infoq\/ea\/ea7421ae9f3b40facf6be1f158b0027c.png","alt":null,"title":null,"style":[{"key":"width","value":"75%"},{"key":"bordertype","value":"none"}],"href":null,"fromPaste":true,"pastePass":true}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"heading","attrs":{"align":null,"level":3},"content":[{"type":"text","text":"JDK 17"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"JDK 17仍处于候选发布("},{"type":"link","attrs":{"href":"https:\/\/openjdk.java.net\/jeps\/3#rc","title":null,"type":null},"content":[{"type":"text","text":"release candidate"}],"marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}]},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":")阶段,预计将于2021年9月14日发布GA版本。InfoQ将随后发布更详细的新闻报道。"}]},{"type":"heading","attrs":{"align":null,"level":3},"content":[{"type":"text","text":"JDK 18"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"JDK 18的"},{"type":"link","attrs":{"href":"https:\/\/jdk.java.net\/18\/","title":null,"type":null},"content":[{"type":"text","text":"早期访问版"}],"marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}]},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"中的"},{"type":"link","attrs":{"href":"https:\/\/github.com\/openjdk\/jdk\/releases\/tag\/jdk-18%2B13","title":null,"type":null},"content":[{"type":"text","text":"第13版"}],"marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}]},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"在上周发布,其中包含了第12版的"},{"type":"link","attrs":{"href":"https:\/\/github.com\/openjdk\/jdk\/compare\/jdk-18%2B12...jdk-18%2B13","title":null,"type":null},"content":[{"type":"text","text":"更新"}],"marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}]},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":",包括对各种"},{"type":"link","attrs":{"href":"https:\/\/bugs.openjdk.java.net\/browse\/JDK-8262751?jql=project%20%3D%20JDK%20AND%20fixversion%20%3D%2018%20and%20%22resolved%20in%20build%22%20%3D%20b13%20order%20by%20component%2C%20subcomponent","title":null,"type":null},"content":[{"type":"text","text":"问题"}],"marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}]},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"的修复。更多详细信息可以参见"},{"type":"link","attrs":{"href":"https:\/\/jdk.java.net\/18\/release-notes","title":null,"type":null},"content":[{"type":"text","text":"发布说明"}],"marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}]},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"对于"},{"type":"link","attrs":{"href":"https:\/\/openjdk.java.net\/projects\/jdk\/17\/","title":null,"type":null},"content":[{"type":"text","text":"JDK 17"}],"marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}]},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"和"},{"type":"link","attrs":{"href":"https:\/\/openjdk.java.net\/projects\/jdk\/18\/","title":null,"type":null},"content":[{"type":"text","text":"JDK 18"}],"marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}]},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":",开发者都被鼓励通过"},{"type":"link","attrs":{"href":"https:\/\/bugreport.java.com\/bugreport\/","title":null,"type":null},"content":[{"type":"text","text":"Java Bug Database"}],"marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}]},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"来报告bug。"}]},{"type":"heading","attrs":{"align":null,"level":3},"content":[{"type":"text","text":"Quarkus"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"Red Hat为Quarkus 2.1和2.2发行系列提供了点发行版。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"link","attrs":{"href":"https:\/\/quarkus.io\/blog\/quarkus-2-2-1-final-released\/","title":null,"type":null},"content":[{"type":"text","text":"Quarkus 2.2.1.Final"}],"marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}]},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"定义为修复问题并改进可用性和文档的强化版本,其特点是升级到GraaIVM 21.2;通过添加属性"},{"type":"codeinline","content":[{"type":"text","text":"quarkus.devservices.enabled=false"}],"marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}]},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" 禁用所有的DevServices能力。一个用于RESTEasy Reactive的"},{"type":"link","attrs":{"href":"https:\/\/quarkus.io\/blog\/resteasy-reactive-smart-dispatch\/","title":null,"type":null},"content":[{"type":"text","text":"增强的线程模型"}],"marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}]},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":",可以根据REST方法选择阻塞或非阻塞;引入对MongoDB服务绑定的支持,以及用于运行"},{"type":"link","attrs":{"href":"https:\/\/narayana.io\/lra\/","title":null,"type":null},"content":[{"type":"text","text":"Narayana Long-Running Actions"}],"marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}]},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"的"},{"type":"link","attrs":{"href":"https:\/\/quarkus.io\/blog\/using-lra\/","title":null,"type":null},"content":[{"type":"text","text":"扩展插件"}],"marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}]},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"Quarkus 2.1.4.Final,第4个维护版本,其特点是:修复了在"},{"type":"codeinline","content":[{"type":"text","text":"application.properties"}],"marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}]},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" 文件中应用"},{"type":"codeinline","content":[{"type":"text","text":"quarkus.redis.devservices.enabled=false"}],"marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}]},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" 时出现的\""},{"type":"link","attrs":{"href":"https:\/\/github.com\/quarkusio\/quarkus\/issues\/19599","title":null,"type":null},"content":[{"type":"text","marks":[{"type":"italic"}],"text":"Unable to connect to DOCKER_HOST URI"}],"marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}]},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"''错误;"},{"type":"link","attrs":{"href":"https:\/\/github.com\/quarkusio\/quarkus\/pull\/19522","title":null,"type":null},"content":[{"type":"text","text":"移除了不必要的"}],"marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}]},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"DevServices关闭钩子;使用"},{"type":"codeinline","content":[{"type":"text","text":"\/q\/dev\/3"}],"marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}]},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" 端点解决"},{"type":"link","attrs":{"href":"https:\/\/github.com\/quarkusio\/quarkus\/issues\/19540","title":null,"type":null},"content":[{"type":"text","text":"内部服务器错误"}],"marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}]},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":";在不推荐使用的属性"},{"type":"codeinline","content":[{"type":"text","text":"quarkus.resteasy.metrics.enabled=true"}],"marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}]},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" 上应用建议的属性"},{"type":"codeinline","content":[{"type":"text","text":"quarkus.smallrye-metrics.jaxrs.enabled=true"}],"marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}]},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" 时删除警告。更多详情可以参见"},{"type":"link","attrs":{"href":"https:\/\/github.com\/quarkusio\/quarkus\/releases\/tag\/2.1.4.Final","title":null,"type":null},"content":[{"type":"text","text":"变更日志"}],"marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}]},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"。"}]},{"type":"heading","attrs":{"align":null,"level":3},"content":[{"type":"text","text":"Open Liberty"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"IBM"},{"type":"link","attrs":{"href":"https:\/\/openliberty.io\/blog\/2021\/09\/03\/microprofile-21009.html","title":null,"type":null},"content":[{"type":"text","text":"发布"}],"marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}]},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"了Open Liberty 21.0.0.9,支持"},{"type":"link","attrs":{"href":"https:\/\/microprofile.io\/","title":null,"type":null},"content":[{"type":"text","text":"MicroProfile"}],"marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}]},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" 4.1,即对等应用程序服务组之间的自主事务对等恢复;今年早些时候引入的新日志格式"},{"type":"codeinline","content":[{"type":"text","text":"TBASIC"}],"marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}]},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" 已提供给"},{"type":"codeinline","content":[{"type":"text","text":"consoleFormat"}],"marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}]},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"  和"},{"type":"codeinline","content":[{"type":"text","text":"messageFormat"}],"marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}]},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"  日志,已补充对"},{"type":"codeinline","content":[{"type":"text","text":"traceFormat"}],"marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}]},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"  日志的现有支持。"}]},{"type":"heading","attrs":{"align":null,"level":3},"content":[{"type":"text","text":"Spring Framework"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"上周在"},{"type":"link","attrs":{"href":"https:\/\/springone.io\/","title":null,"type":null},"content":[{"type":"text","text":"SpringOne"}],"marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}]},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"上"},{"type":"link","attrs":{"href":"https:\/\/spring.io\/blog\/2021\/09\/02\/a-java-17-and-jakarta-ee-9-baseline-for-spring-framework-6","title":null,"type":null},"content":[{"type":"text","text":"宣布"}],"marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}]},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":","},{"type":"link","attrs":{"href":"https:\/\/spring.io\/projects\/spring-framework","title":null,"type":null},"content":[{"type":"text","text":"Spring Framework"}],"marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}]},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" 6.0和"},{"type":"link","attrs":{"href":"https:\/\/spring.io\/projects\/spring-boot","title":null,"type":null},"content":[{"type":"text","text":"Spring Boot"}],"marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}]},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" 3.0将包括JDK 17和Jakarta EE 9基线。VMware计划在4Q2022版本中发布该基线,它表示此基线将“在我们的设计和集成工作中提供显著的好处,使您的应用程序代码和框架在未来很多年中都能经受住考验。”InfoQ将继续提供更详细的新闻报道。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"link","attrs":{"href":"https:\/\/spring.io\/projects\/spring-graphql","title":null,"type":null},"content":[{"type":"text","text":"Spring GraphQL"}],"marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}]},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" 1.0.0的第二个"},{"type":"link","attrs":{"href":"https:\/\/spring.io\/blog\/2021\/09\/01\/spring-graphql-1-0-0-m2-available-now","title":null,"type":null},"content":[{"type":"text","text":"里程碑版本"}],"marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}]},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"已经发布,它为GraphQL控制器提供了一个新的"},{"type":"link","attrs":{"href":"https:\/\/docs.spring.io\/spring-graphql\/docs\/1.0.0-M2\/reference\/html\/#controllers","title":null,"type":null},"content":[{"type":"text","text":"注解模型"}],"marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}]},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"以及常见的bug修复。更多详情可参见"},{"type":"link","attrs":{"href":"https:\/\/github.com\/spring-projects\/spring-graphql\/milestone\/2?closed=1l\/releases\/tag\/v1.0.0-M2","title":null,"type":null},"content":[{"type":"text","text":"问题清单"}],"marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}]},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"。"}]},{"type":"heading","attrs":{"align":null,"level":3},"content":[{"type":"text","text":"Hibernate"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"link","attrs":{"href":"https:\/\/hibernate.org\/orm\/","title":null,"type":null},"content":[{"type":"text","text":"Hibernate ORM"}],"marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}]},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" 5.6.0的第一个"},{"type":"link","attrs":{"href":"https:\/\/in.relation.to\/2021\/08\/27\/hibernate-orm-560-beta1-release\/","title":null,"type":null},"content":[{"type":"text","text":"beta版本"}],"marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}]},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"的功能是,支持在Hibernate ORM的核心中更改"},{"type":"link","attrs":{"href":"https:\/\/hibernate.org\/reactive\/","title":null,"type":null},"content":[{"type":"text","text":"Hibernate Reactive"}],"marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}]},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":",并改进基准测试和运行时性能。Hibernate将5.6.0版视为即将推出的Hibernate ORM 6.0的网关。为此,Hibernate取消了对"},{"type":"link","attrs":{"href":"https:\/\/www.javassist.org\/","title":null,"type":null},"content":[{"type":"text","text":"Javassist"}],"marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}]},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"的支持,转而支持从Hibernate ORM 5.3开始可用的"},{"type":"link","attrs":{"href":"https:\/\/bytebuddy.net\/","title":null,"type":null},"content":[{"type":"text","text":"Byte Buddy"}],"marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}]},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"。"}]},{"type":"heading","attrs":{"align":null,"level":3},"content":[{"type":"text","text":"MicroProfile"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"在计划于4Q2021发布的"},{"type":"link","attrs":{"href":"https:\/\/microprofile.io\/","title":null,"type":null},"content":[{"type":"text","text":"MicroProfile"}],"marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}]},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" 5.0道路上,8个自主开发的APIs中有7个有可供审查的候选版本:"}]},{"type":"bulletedlist","content":[{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"link","attrs":{"href":"https:\/\/github.com\/eclipse\/microprofile-config\/releases\/tag\/3.0-RC4","title":null,"type":null},"content":[{"type":"text","text":"Config 3.0-RC4"}],"marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}]}]}]},{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"link","attrs":{"href":"https:\/\/github.com\/eclipse\/microprofile-health\/releases\/tag\/4.0-RC1","title":null,"type":null},"content":[{"type":"text","text":"Health 4.0-RC1"}],"marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}]}]}]},{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"link","attrs":{"href":"https:\/\/github.com\/eclipse\/microprofile-metrics\/releases\/tag\/4.0-RC1","title":null,"type":null},"content":[{"type":"text","text":"Metrics 4.0-RC1"}],"marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}]}]}]},{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"link","attrs":{"href":"https:\/\/github.com\/eclipse\/microprofile-rest-client\/releases\/tag\/3.0-RC2","title":null,"type":null},"content":[{"type":"text","text":"Rest Client 3.0-RC2"}],"marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}]}]}]},{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"link","attrs":{"href":"https:\/\/github.com\/eclipse\/microprofile-fault-tolerance\/releases\/tag\/4.0-RC2","title":null,"type":null},"content":[{"type":"text","text":"Fault Tolerance 4.0-RC2"}],"marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}]}]}]},{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"link","attrs":{"href":"https:\/\/github.com\/eclipse\/microprofile-opentracing\/releases\/tag\/3.0-RC2","title":null,"type":null},"content":[{"type":"text","text":"Open Tracing 3.0-RC2"}],"marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}]}]}]},{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"link","attrs":{"href":"https:\/\/github.com\/eclipse\/microprofile-open-api\/releases\/tag\/3.0-RC1","title":null,"type":null},"content":[{"type":"text","text":"Open API 3.0-RC1"}],"marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}]}]}]}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"MicroProfile "},{"type":"link","attrs":{"href":"https:\/\/github.com\/eclipse\/microprofile-jwt-auth\/","title":null,"type":null},"content":[{"type":"text","text":"JWT 2.0-RC1"}],"marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}]},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"将很快提供。"}]},{"type":"heading","attrs":{"align":null,"level":3},"content":[{"type":"text","text":"GraalVM"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"link","attrs":{"href":"https:\/\/labs.oracle.com\/","title":null,"type":null},"content":[{"type":"text","text":"Oracle Labs"}],"marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}]},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"发布了"},{"type":"link","attrs":{"href":"https:\/\/github.com\/graalvm\/native-build-tools\/","title":null,"type":null},"content":[{"type":"text","text":"Native Build Tools"}],"marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}]},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"的"},{"type":"link","attrs":{"href":"https:\/\/github.com\/graalvm\/native-build-tools\/releases\/tag\/0.9.4","title":null,"type":null},"content":[{"type":"text","text":"0.9.4版本"}],"marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}]},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":",这是一个GraaIVM项目,包含用于与GraaIVM"},{"type":"link","attrs":{"href":"https:\/\/www.graalvm.org\/reference-manual\/native-image\/","title":null,"type":null},"content":[{"type":"text","text":"原生镜像"}],"marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}]},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"互操作的插件。这个版本为Maven和Gradle在Windows操作系统上处理长的类路径提供了一个解决方案。Gradle插件不会在类路径中遍历所有类目,而是会自动生成一个JAR包,并带有"},{"type":"link","attrs":{"href":"https:\/\/graalvm.github.io\/native-build-tools\/0.9.4\/gradle-plugin.html#_long_classpath_and_fat_jar_support","title":null,"type":null},"content":[{"type":"text","text":"禁用"}],"marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}]},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"此解决方案的选项。对于Maven用户,有必要使用"},{"type":"codeinline","content":[{"type":"text","text":"maven-shade-plugin"}],"marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}]},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "},{"type":"link","attrs":{"href":"https:\/\/graalvm.github.io\/native-build-tools\/0.9.4-SNAPSHOT\/maven-plugin.html#_long_classpath_and_shading_support","title":null,"type":null},"content":[{"type":"text","text":"配置builds"}],"marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}]},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"。"}]},{"type":"heading","attrs":{"align":null,"level":3},"content":[{"type":"text","text":"JHipster Generator for Helidon Projects"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"Oracle的软件开发人员"},{"type":"link","attrs":{"href":"https:\/\/bg.linkedin.com\/in\/dalexandrov","title":null,"type":null},"content":[{"type":"text","text":"Dmitry Aleksandrov"}],"marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}]},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"最近"},{"type":"link","attrs":{"href":"https:\/\/twitter.com\/bercut2000\/status\/1432664512230985732","title":null,"type":null},"content":[{"type":"text","text":"发起了"}],"marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}]},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"一个新项目"},{"type":"link","attrs":{"href":"https:\/\/github.com\/dalexandrov\/generator-jhipster-helidon","title":null,"type":null},"content":[{"type":"text","text":"JHipster Helidon 0.0.1"}],"marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}]},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":",这是一个JHipster项目,用于生成"},{"type":"link","attrs":{"href":"https:\/\/helidon.io\/","title":null,"type":null},"content":[{"type":"text","text":"Helidon"}],"marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}]},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"应用程序。这个项目仍在建设中,Aleksandrov正在征求Java社区的反馈意见。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"image","attrs":{"src":"https:\/\/static001.geekbang.org\/infoq\/a7\/a7ffd87587bfae52cb30661720c2af12.png","alt":null,"title":null,"style":[{"key":"width","value":"75%"},{"key":"bordertype","value":"none"}],"href":null,"fromPaste":true,"pastePass":true}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"heading","attrs":{"align":null,"level":5},"content":[{"type":"text","text":"作者介绍"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"link","attrs":{"href":"https:\/\/www.infoq.com\/profile\/Michael-Redlich\/","title":null,"type":null},"content":[{"type":"text","text":"Michael Redlich"}],"marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}]},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "},{"type":"text","marks":[{"type":"color","attrs":{"color":"#222222","name":"user"}}],"text":"Java Queue主编"}]},{"type":"heading","attrs":{"align":null,"level":5},"content":[{"type":"text","text":"原文链接"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"link","attrs":{"href":"https:\/\/www.infoq.com\/news\/2021\/09\/java-news-roundup-aug30-2021\/","title":null,"type":null},"content":[{"type":"text","text":"Java News Roundup: Roadmap for Spring 6.0 and Spring Boot 3.0, OpenJDK and Quarkus Updates"}],"marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}]}]}]}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章