Java EE 8怎么了? (第2部分)
Java EE 8的工作仍處于初期階段,并有望在來年跟上發展步伐,屆時我們將看到專家組的完成,圍繞用例/功能的更多討論,大量JIRA和各種規范的草案版本(本會很有趣!)。
在第1部分中 ,我們研究了Java EE 8中包含的新規范 。在本文中,讓我們看一下為進一步增強而排隊的現有規范( 非常重要 !)
更新規格清單
- CDI 2.0(JSR 365)
- JAX-RS 2.1(JSR 370)
- Servlet 4.0(JSR 369)
- JSON-P 1.1(JSR 374)
- JMS 2.1(JSR 368)
- Java EE管理2.0(JSR 373)
- JSF 2.3(JSR 372)
讓我們一一看一下……。
CDI 2.0(JSR 365)
自從Java EE 6誕生以來,CDI已經成為Java EE平臺不可或缺的一部分。 CDI的巨大成功導致社區需求,以進一步加強其與平臺中不同規范的集成。 查看Java EE 8社區調查結果的第5-7頁。
目標
- 與Java SE 8對齊(當然!)–利用Java 8好東西,例如Lambda,流,可重復注釋,默認方法等
- 對Java SE的支持–標準化Java SE的依賴注入API。 各個CDI實現(Weld等)確實支持Java SE,但需要使用特定于供應商的方式來使用它們。 希望可以解決該問題,我們將擁有一個用于在Java SE和EE上使用CDI的標準API!
- CDI模塊化 –將CDI拆分為易于管理的模塊,從維護以及采用/實施的角度使事情變得更容易
- 增強的事件 –一項主要增強功能是引入了異步事件 ,該事件到目前為止還沒有出現(CDI 1.2)。
- 其他功能 – AOP(攔截器和裝飾器)和SPI相關的增強功能
現在還很早,到目前為止還沒有定論。 事情正在發展,并將繼續如此。 可以在官方CDI規范頁面上訪問所有最新更新。
這是我幾天前發布的博客 ,其中包含有關CDI 2.0的更多詳細信息。
快速鏈接
- JCP頁面
- 參考實施– JBoss Weld
- JavaOne 2014上的最新演講 – 這是以CDI 1.2為中心的
JAX-RS 2.1(JSR 370)
有了即將發布的目標和功能,令我驚訝的是,該修訂版被稱為2.1 –可能是3.0, 但這只是我的一般意見 。
EE 8計劃
- 與CDI緊密集成
- 對服務器發送事件(SSE)的支持 –社區要求的標準包括服務器發送事件的標準API,這在Java EE 8社區調查結果的第2頁中很明顯。 如果您還沒有聽說過SSE或不了解SSE,可以將其看作是一條中間路徑,其中包括b / w HTTP(基于請求響應)和WebSockets(全雙工和雙向)。
注意 :* Jersey提供對SSE的支持,但它不是JAX-RS標準的一部分,因此不可移植。 您可以在這里內容 *
- 與JSON-B集成– JSON-B是我在上一篇文章中提到的另一個Java EE 8候選人。 當前,JAX-RS為JAXB提供了無縫的現成支持。 JSON-B也計劃這樣做。 您所需要做的就是使用JSON-B注釋定義模型類,并將其余的留給JAX-RS運行時!
- 對安全的明確支持–確保RESTful服務的安全一直是一個話題。 盡管仍可以應用標準的Java EE Web(servlet)和業務(EJB)層安全性,但是JAX-RS不支持用于聲明性或程序性安全性的標準方法。 但是這里的目標將是標準化JAX-RS特定的安全功能,或者利用Java EE Security 1.0(JSR 375) (另一個Java EE 8候選者)
- 為JAX-RS提供程序啟用NIO (非阻塞I / O)。 這是對自JAX-RS 2.0以來已經存在的異步(服務器和客戶端)功能的補充。
- 管道中的其他功能包括支持通過JAX-RS進行React式編程,改進JAX-RS 2.0中引入的Hypermedia API(HATEOAS)以及支持
快速鏈接
- JCP官方頁面
- 參考實施– 澤西島
- 讓我們來談談JAX-RS.next!
- Java One 2014討論了Jersey的最新功能 – Java One 2014的另一個好東西!
Servlet 4.0(JSR 369)
Servlet是Java EE中最古老,最重要的規范之一。 在它之上還建立了其他幾個規范(JAX-RS,WebSockets等)。 Servlet 4.0將專用于HTTP / 2。 其主要目標是使Servlet API具有HTTP / 2功能。
目標
- 請求/響應多路復用
- 流優先級
- 服務器推送
- 從HTTP 1.1升級–使用API??中的現有升級功能(從HTTP到Web套接字)以啟用到HTTP / 2的升級
快速鏈接
- JCP官方頁面
- 在Java One 2014上的演講– Java實現HTTP 2.0:Servlet 4.0對您意味著什么
- 另一個來自Java One 2014 的帶有Servlet Async IO的狂野之路 -面向Servlet 3.1
JSON-P 1.1(JSR 374)
JSON-P 1.0在Java EE 7中引入,為開發人員提供了處理JSON的標準API,而無需打包第三方實現。 這幫助Java EE 7真正符合HTML5標準(其關鍵主題之一)。 JSON-P 1.1更像是具有修復和改進功能的維護版本。
Java EE 8計劃了什么?
- 與Java SE 8保持一致 –盡管目標顯而易見,但仍然很有趣。 可以增強API以使用Java 8收集器,并提供JSON解析器事件的Stream表示。
- 結合了對JSON規范本身更新的支持-JSON指針和JSON補丁
- 支持修改(以前是不可變的)JSON對象(可能通過類似Builder的實現)
快速鏈接
- JCP官方頁面
JMS 2.1(JSR 368)
JMS 2.0(JSR 343)帶來了巨大的改進,特別是在簡化API itslef方面。 結果是易用性和開發人員生產率– Java EE 7的中心主題之一。JMS2.1計劃引入幾個重要的更改/添加以及一些常規的改進–讓我們來看看
- 與Java SE 8兼容–在我看來,這并不奇怪(可重復的批注,lambda等)
- 異步消息傳遞方法的變化 (尋找替代想法)–計劃是將MDB的想法擴展到一般的任何CDI bean,并消除必須實現MessageListener接口的約束。 任何CDI bean都可以采取異步方式接收消息。
- 其他改進,例如在Java EE事務中使用時的JMS提供程序行為,JMS提供程序與Java EE應用服務器的可移植性,在MDB拋出異常的情況下重新傳遞消息
牢記CDI 2.0也將支持異步事件,有趣的是,看看這兩個規范如何處理通常處理異步事件/消息處理的功能。 此外,還需要查看該特定功能是否最終會使MDB過時。
快速鏈接
- JCP官方頁面
Java EE管理2.0(JSR 373)
簡而言之,該JSR旨在成為J2EE管理規范(JSR 77)的現代版本 。 REST是現代化的代名詞,Java EE Management JSR計劃采用REST作為事實上的接口,用于與托管對象進行通信并提供諸如
- 將托管對象上的CRUD操作公開為RESTful接口
- 利用SSE分發事件以響應被管理對象狀態的變化
- 使用REST接口(通過相同的接口進行部署和管理)來啟用Java EE應用程序的部署-與同樣處理Java EE應用程序部署的JSR 88相比,是完全不同的
截至目前,從工作的角度來看,事情有點安靜。 但是我非常確定,我們將在新的一年中采取很多行動!
快速鏈接
- JCP官方頁面
JSF 2.3(JSR 372)
看起來JSF 2.3將由社區的投入和反饋來驅動。 查看Java EE 8社區調查結果的第3、4、5頁,以了解有關MVC以及JSF的模板引擎的反饋。
目標
- 利用Java SE 8以及Java EE 8平臺本身的其他功能
- 增強了對JSF Ajax API的支持 ,以允許對CDI托管(控制器)bean的直接Ajax調用(這聽起來很有希望!),這將使在客戶端和Java EE后端之間交換JSON消息變得簡單。
- 結合了JSF用戶社區急需的功能– EL性能改進,多字段驗證等
- 支持MVC 1.0 – JSF為MVC的“ V”(視圖)部分提供了很多功能(Facelets,face flow,JSF CDI范圍等)。 看看對MVC 1.0的JSF進行哪些更改/添加會很有趣
快速鏈接
- JCP官方頁面
就Java EE 8優點而言,這一切嗎? 當然不是。 其他規范也需要進行修訂和改進–它們很快就會成為眾人關注的焦點。 這是其他規格的快速概述以及預期的結果
- EJB 3.2 (維護版本)
- JPA 2.1 (維護版本–支持Java 8 DateTime API和重復注釋)
- WebSocket 1.0 (維護版本)
- JTA和Java Mail規范也可能需要維護版本
有關Java EE 8專家組電子郵件討論的更多信息
Java EE 8剛剛開始熱身。 我很確定這次旅程會令人興奮! 敬請關注…。
干杯!
翻譯自: https://www.javacodegeeks.com/2014/12/whats-up-with-java-ee-8-part-2.html
總結
以上是生活随笔為你收集整理的Java EE 8怎么了? (第2部分)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: mockito_书评:Mockito E
- 下一篇: 历史上真实的周莹结局(周莹历史原型有孩子