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"}}]}]}]}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章