IBM發布Open Liberty 18.0.0.4,支持MicroProfile 2.1和反應性擴展框架

IBM在2018年第四季度發布的Open Liberty 18.0.0.4提供了對MicroProfile 2.1、反應性擴展框架和連接池指標的全面支持。根據發布說明:

Open Liberty現在對JAX-RS 2.1進行了反應性擴展,這樣你就可以使用來自Apache CXFJersey的提供程序。在ops方面,Liberty運行時提供了一些連接池指標,現在,你可以從MicroProfile Metrics特性提供的/metrics端點訪問這些指標。

Open Liberty于2017年9月首次推出,是IBM WebSphere Liberty應用服務器的開源實現,用于構建微服務和原生云應用程序。Open Liberty對MicroProfile的持續支持確保了最新版本包含在季度發行版中。簡單看一下Open Liberty的發行歷史就能明白這一點:

  • 2017年9月:17.0.0.3 ——?MicroProfile 1.2
  • 2017年12月:17.0.0.4 —— JSF實現
  • 2018年3月: 18.0.0.3 ——?MicroProfile 1.3
  • 2018年6月: 18.0.0.2 —— Java EE 8
  • 2018年9月: 18.0.0.3 ——?MicroProfile 1.4MicroProfile 2.0
  • 2018年12月: 18.0.0.4 ——?MicroProfile 2.1

MicroProfile 2.1

Open tracking 1.2是MicroProfile 2.1中唯一更新的API,于2018年10月19日發布。新特性及改進特性包括:允許更有針對性的跟蹤結果;更容易將跟蹤請求與應用程序的URL關聯起來;跳過JAX-RS請求跟蹤;使用另一種Open Tracing Span名稱格式;添加了新的MicroProfile Config 1.3 API鍵,支持新的Open Tracing函數。

JAX-RS請求可以通過指定一個與UriInfo.getPath()相匹配的正則表達式排除在跟蹤之外,該正則表達式定義在一個新增的配置鍵mp.opentracing.server.skip-pattern中。正則表達式必須符合java.util.regex.Pattern。IBM Open Tracing知識中心詳細說明了為什么排除JAX-RS請求跟蹤:

可以通過指定跳過模式排除服務器端跟蹤。你可能希望排除一些跟蹤信息,以便跟蹤特定的東西。在這種情況下,你可以選擇排除服務器端跟蹤,以減少所創建的Span數量。

新增的Open Tracing Span名稱替代格式如下:

\u0026lt;http method\u0026gt;:/\u0026lt;endpoint\u0026gt;/\u0026lt;endpoint method\u0026gt;

如Open Liberty Open Tracing指南所示,下面是該格式的一個示例:

GET:/inventory/list

要了解更多細節,請查看Open Tracing規范。

JAX-RS的反應性擴展

使用Open Liberty 18.0.0.4,可以通過Apache CXF和Jersey等提供程序對JAX-RS(JSR-370)進行反應性擴展。在Open Liberty博客中,IBM Web服務架構師Andy McCright最近討論了Open Liberty中的REST新特性:

JAX-RS 2.1引入了反應性客戶端,但是規范只要求供應商使用Java 8的CompletionStage API實現它。其他反應性框架框架可以與反應性框架客戶端集成,但在規范中這是可選的。借助Liberty 18.0.0.4,我們現在可以使用這些擴展。我們已經使用來自Apache CXF和Jersey的提供程序對RxJava 1和2進行了測試,我們計劃進行更多測試。

IBM WebSphere MicroProfile和Jakarta EE(EE4J)架構師Kevin Sutter向InfoQ介紹了這個最新版本,以及2019年關于Open Liberty的計劃。

InfoQ:在即將發布的Open Liberty版本中,為MicroProfile的當前版本提供全面支持是否遇到了挑戰?

Kevin Sutter:Open Liberty曾經在Eclipse MicroProfile項目發布后的三個月內提供了完全支持的、可用于生產的MicroProfile規范實現。從項目的第一天起,我們就把這作為一個目標,并且我們很高興能夠遵守這個時間表。這有挑戰性嗎?當然。但是,這是一項大型的團隊工作,這樣更可行。我們參與每一項MicroProfile規范。有些是我們負責的,有些我們只是參與。但是,我們確實參與每一項規范。這給了我們一個優勢,因為我們已經熟悉了各種規范的要求。在大多數情況下,在更廣泛的MicroProfile團隊正在繼續定義它的時候,我們正在實現規范。在某些情況下,我們通過每月的Liberty Beta交付早期版本的實現。這些Beta版的反饋也可以反饋到規范的開發中。所有這些前期工作都有助于我們及時實現MicroProfile的目標。

MicroProfile規范發布的其中一個要求是有一個開源的“兼容實現”。這個兼容的實現不一定是最終的版本或產品。但是,它必須證明規范是可實現的,并且TCK在上面成功執行。此外,它必須可用、可構建,并且可以通過一些公共的開源存儲庫進行測試(如GitHub)。對于我們負責的大多數MicroProfile規范,我們在Open Liberty中開發兼容實現。一個例外是我們負責的MicroProfile Rest客戶端項目,其兼容實現是Apache CXF。但是,由于Apache CXF是Open Liberty JAX-RS實現的基礎,因此,我們仍然間接地在Open Liberty中進行開發。無論如何,這些兼容實現并不是最終的版本。我們還有額外的工作要做,以確保這些實現是生產就緒的,并且得到完全支持。但是,為把它們加入Open Liberty的下一個發行版中,我們有了一個很好的開端。

InfoQ:關于Open Liberty,2019年有什么計劃?

Sutter:我們在2019年所做的一個主要改進是采用四周一次的發布周期(而不是過去幾年的季度發布)。壓縮后的發布周期對我們的MicroProfile開發工作提出了一些新的挑戰。如你所知,MicroProfile每年都會發布幾個版本。去年,MicroProfile發布了三個平臺版本(包括對Java EE 8的支持)。今年的計劃是在2月、6月和10月再發布三個平臺版本。過去,我們的目標是在下一個季度的Open Liberty中支持這些MicroProfile版本。但是,在四周一次的發布周期中,“下一個Open Liberty版本”可能無法實現。因此,我們的新目標是在MicroProfile提供其平臺版本之后進行兩個為期兩周的開發迭代。這實際上把我們之前在一個季度(12周)內提供實現的目標壓縮到了大約8周。我們看看能不能跟上。但是,按照我們的敏捷流程,我們只會在功能準備就緒時發布它——完全測試、生產就緒和完全支持。

InfoQ:您目前負責什么,也就是說,您每天都做些什么?

Sutter:我的主要職責是為混合云組織的MicroProfile、Jakarta EE和Java EE總體開發提供指導。這就是我在“IBM的工作”。在外部,我非常積極地與MicroProfile社區合作,共同領導Eclipse項目。我參與了一些組件規范,但我的主要關注點是確保平臺交付的順利進行。我還參加了Jakarta EE指導和規范委員會。將Java EE工件和流程移到Eclipse環境中是一項具有挑戰性的工作——保留好東西,刪除不好的東西。作為PMC和平臺項目的一員,我還參與了EE4J工作的日常活動。這方面的最新活動是完成Eclipse Glassfish的Java EE 8兼容性測試。下一步工作涉及Jakarta EE 8的發布及其未來規劃。

相關資源

  • Open Liberty首次發布中的MicroProfile 1.2和構建工具升級,Laura Cowen,2017年10月26
  • 把你自己的JSF實現加入Open Liberty 17.0.0.4,Laura Cowen,2017年12月21日
  • 借助Open Liberty 18.0.0.1中的MicroProfile 1.3(等)實現微服務分布式跟蹤,Laura Cowen,2018年3月16日
  • Open Liberty 18.0.0.2完全支持Java EE 8,Laura Cowen,2018年6月29日
  • 借助Open Liberty 18.0.0.3中的MicroProfile 2.0從App獲取更多指標,Laura Cowen,2018年9月19日
  • Open Liberty in 2018提供了哪些REST新特性?,Andy McCright,2018年12月5日
  • 18.0.0.4中的MicroProfile 2.1、反應性擴展和連接池指標,Laura Cowen,2018年12月14日

查看英文原文:IBM Releases Open Liberty 18.0.0.4 with Support for MicroProfile 2.1 and Reactive Extensions

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/537040.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/537040.shtml
英文地址,請注明出處:http://en.pswp.cn/news/537040.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

b700a怎么連藍牙_233621藍牙2.1無線音箱B700A小測

隨著藍牙技術的發展,使用藍牙的相關產品也越來越多,各種藍牙耳機、藍牙鍵盤、藍牙鼠標都讓我們的外設擺脫了線材的束縛。小編之前也介紹過一款便攜藍牙音箱,也評測過一款藍牙耳機,而今天拿到的是一款采用藍牙2.1技術,造…

詳解:設計模式之-適配器模式

分享一波:程序員賺外快-必看的巔峰干貨 簡介 在設計模式中,適配器模式有時候也稱包裝樣式或者包裝。將一個類的接口轉接成用戶所期待的。一個適配使得因接口不兼容而不能在一起工作的類工作在一起,做法是將類自己的接口包裹在一個已存在的類中。 分類 …

excel 中編程:vba 入門

2019獨角獸企業重金招聘Python工程師標準>>> 1. 打開編程環境: altF11 打開開發環境 注意需要啟動宏,不然不能執行自定義的程序,保存后文件的后綴應該是:.xlsm 選擇一個 sheet 或一個模塊,右鍵查看代碼&…

android 快傳 源碼_最新安卓仿茄子快傳APP源碼包括服務端源碼Android開發快傳類項目源碼全套...

適使用范圍: 安卓APP茄子快傳源碼 Android項目源碼相似茄子快傳的快傳項目包括服務端運行環境: Android app源碼詳細:本項目是一個基于安卓的相似茄子快傳的項目源碼,包括安卓用戶端源碼,java的PC用戶端和PHP 的web網…

詳解:設計模式之-策略設計模式

分享一波:程序員賺外快-必看的巔峰干貨 什么是策略模式 定義一系列的算法,并將每一個算法單獨進行封裝,而且使它們可以相互替換,從而達到傳遞不同參數而執行不同算法的結果。 策略模式讓算法獨立于使用它的客戶而獨立變化 策略模式應用場…

mysql decode語句_MySQL復制問題的分析

s這是學習筆記的第 2031 篇文章最近有個業務的MySQL復制問題還是比較多,做了事務降維之后,把一些敏感操作和線上環境隔離起來,整體的效果好了許多,不過今天在外面的時候,又收到一條報警短信,讓我心里咯噔一…

jvm形象簡介之一看就懂

分享一波:程序員賺外快-必看的巔峰干貨 據 JVM 規范,JVM 內存結構共分為虛擬機棧、堆、方法區、程序計數器、本地方法棧五個部分。這里的java內存結構與前面所述的Java內存模型是兩個概念,不可以混淆。 堆 java堆是java虛擬機所管理的內存中最大的一塊…

MZOJ 1345 hero

一道寬搜模版題,可寫錯了兩個地方的我只得了56(掩面痛哭) http://10.37.2.111/problem.php?id1345 先看看正確的 #include <bits/stdc.h> #define read read() #define up(i,l,r) for(int i l; i<r; i) using namespace std;int read {int x 0; char ch getchar()…

opencv拖動進度條_OpenCV GUI基本操作,回調函數,進度條,裁剪圖像等-阿里云開發者社區...

代碼為轉載&#xff0c;出處找不到了&#xff0c;不貼了工具條進度條&#xff1a;// ConvertColor.cpp : 定義控制臺應用程序的入口點。//#include "stdafx.h"#include #include #include #pragma comment(lib,"opencv_core2410d.lib")#pragma comment(lib…

區間DP初探 P1880 [NOI1995]石子合并

https://www.luogu.org/problemnew/show/P1880 區間dp,顧名思義,是以區間為階段的一種線性dp的拓展 狀態常定義為$f[i][j]$,表示區間[i,j]的某種解; 通常先枚舉區間長度,再枚舉左端點,最后枚舉斷點(k) 石子合并便是一道經典的區間dp #include <bits/stdc.h> #define read…

jvm詳解 - 新生代與老年代

*************************************優雅的分割線 ********************************** 分享一波:程序員賺外快-必看的巔峰干貨 Java 中的堆是 JVM 所管理的最大的一塊內存空間&#xff0c;主要用于存放各種類的實例對象。 在 Java 中&#xff0c;堆被劃分成兩個不同的區…

pymysql建表_Python數據庫操作,針對pymysql 和 MYSQL數據庫

此文將以MYSQL數據庫做為例子,pymysql庫作為驅動進行學習安裝MYSQL數據庫與pymysql第三方庫安裝pymysql庫不多做敘述安裝navicat for mysql,此程序用來管理MYSQL數據庫注意: 連接過程中可能會出現1251錯誤解決辦法,在cmd命令下登錄mysql后輸入:ALTER USER rootlocalhost IDENTI…

從0到1使用VUE-CLI3開發實戰(五):模塊化VUEX及使用vuetify

小肆前幾天發了一篇2019年Vue精品開源項目庫的匯總&#xff0c;今天小肆要使用的是在UI組件中排行第三的Vuetify。vuetify介紹 Vuetify是一個漸進式的框架&#xff0c;完全根據Material Design規范開發&#xff0c;一共擁有80多個組件&#xff0c;對移動端支持非常好。 支持SSR…

詳解垃圾回收算法

分享一波:程序員賺外快-必看的巔峰干貨 標記清除算法 概念 該算法有兩個階段。 標記階段&#xff1a;找到所有可訪問的對象&#xff0c;做個標記。 清除階段&#xff1a;遍歷堆&#xff0c;把未被標記的對象回收 缺點&#xff1a;會產生碎片&#xff0c;不夠連貫 應用場景…

智能情緒分析技術_石化緣推薦:煉化企業智能機器人巡檢技術應用前景分析!...

本期內容由湖南天一奧星泵業有限公司冠名煉化企業智能機器人巡檢技術應用前景分析王國彤1,孫秉才2,儲勝利2,宋亞敏1(1.中國石油天然氣股份有限公司大連石化分公司&#xff0c;遼寧省大連市&#xff1b;2.中國石油集團安全環保技術研究院有限公司&#xff0c;北京市)摘要&#x…

CentOS 7編譯程序后的環境變量設置

今晚在 CentOS 7 上配置 Gitea&#xff0c;配置完成后在本地 clone 倉庫會提示 Failed to execute git command: exec: "git-upload-pack": executable file not found in $PATH&#xff0c;果斷用軟連接打法解決。隨后在 push 時又出現 Failed to execute git comma…

詳解:JVM內存調優參數

分享一波:程序員賺外快-必看的巔峰干貨 -Xms JVM啟動時申請的初始Heap值&#xff0c;默認為操作系統物理內存的1/64但小于1G。默認當空余堆內存大于70%時&#xff0c;JVM會減小heap的大小到-Xms指定的大小&#xff0c;可通過-XX:MaxHeapFreeRation來指定這個比列。Server端JV…

數組指針 sizeof 實現_C++數組指針!

學習C數組的時候&#xff0c;對數組的了解不是很深。也不知道&#xff0c;為什么聲明一個數組&#xff0c;int a[10]&#xff0c;為什么a就是數組的地址。你可以這樣理解&#xff0c;將a理解為指向數組頭的一個指針&#xff0c;這樣就好理解了。理解了之后確實好像豁然開朗的樣…

利用人工智能提升團隊包容性

在2018年11月舉行的Gartner應用技術與解決方案峰會上&#xff0c;高級主管分析師John Kostoulas認為&#xff0c;積極培養包容性文化的團隊和團隊領導者將超越他們的目標。Kostoulas引用了CEB-Gartner在2016年進行的一項領導力驗證調查&#xff0c;他指出&#xff0c;性別多元化…

表單驗證開發 - 登錄注冊開發(3)

表單驗證開發 - 登錄注冊開發(3) 一、教程目標 學習如何在表單中添加驗證規則。掌握使用 JSON 配置表單驗證規則的方法。實現前端和后端的表單驗證。 二、教程內容 1. 前端表單驗證 步驟 1&#xff1a;找到表單編輯 在頁面上找到需要編輯的表單&#xff0c;如注冊表單或登錄…