Java EE 8,当前状态是什么:自2015年底以来已完成工作的案例研究

对于那些密切关注Java EE的人来说,在过去的六个月中已经很清楚,活动有所减少,尤其是在Oracle保持领先的JSR中。 这是怎么回事? 最近,在这方面,Java EE社区进行了很多讨论,我认为给开发人员社区一个公平的时间表,以期我们对Java EE的未来抱有重要的期望,这一点很重要。 随着时间的流逝,不确定性即将到来,社区越来越关注Java SE和Java EE的未来。

让我给你一点背景。 我是几个针对Java EE 8的JSR的专家组成员,分别是JSR 372(JavaServer Faces 2.3)和JSR 378(Portlet 3.0 Bridge for JavaServer Faces 2.2)。 在2016年初,我注意到自2015年10月以来,JSR 372专家组列表上的电子邮件数量确实下降了。 实际上,在2015年最后一个季度,JSR 372上的活动已经放缓到几乎停止,但是随着时间的推移,它的势头应该会加快,直到最终版本的发布。 1月下旬,Java EE社区的一些成员与我联系,表示他们也看到活动减少,并且非常关注。 然后,我被要求加入Slack社区中有关Java EE倡导者的社区……当我加入并阅读积压的消息时,我可以清楚地看到,Oracle似乎停止了在Java EE几乎每个领域的活动,特别是在Oracle领导的所有JSR上工作。

我开始做一些作业,并开始研究统计数据。 我想看到一些明确的证据。 我发现在某些JSR中,很难看到Oracle方面的活动有所减少,但是特别是这些JSR并没有来自Oracle的规范。 某些JSR,尤其是不在Oracle管辖范围内的JSR,总体上比其他JSR更活跃。 相反,对于那些Oracle确实保持规范领先地位的JSR,活动几乎完全停止了。 我想分享我对几个JSR的发现,它们是JSR 372:JavaServer Faces 2.3和JSR 368:Java Message Service 2.1。

我从JSR 372和JSR 368公共档案/记录中收集了以下信息,包括JIRA( Mojarra JIRA和JMS JIRA ),邮件列表档案( JSR 372 EG邮件列表 , JSR 378 EG邮件列表 )和GitHub存储库( https://github.com/javaserverfaces/mojarra)。

JSR 372统计

首先,我要提到的是,JSR 372的规范领导者是顶尖的,他们在领导该项目方面做得非常出色。 就是说,自2015年10月以来,他们的活动似乎有所下降。这是一些显示数据的图表。

正如我之前提到的,JSR 372规范负责人做得很好。 这样,他们仍然在发送给JSR 372专家组邮件列表的电子邮件中扮演着角色。 也就是说,这些数字仅反映了03/2016之前的数字……此后没有太多活动。

JSR372-SpecLeadEmail

如果我们看一下对JSR 372(从GitHub捕获)的提交数量,我们可以看到Oracle所做的工作大大减少了。 自2015年10月以来,大部分工作来自社区,主要是最活跃的JSF开发人员:Arjan Tijms和Bauke Scholtz。

JSR372OracleCommits

下降的另一个重要方面是Oracle解决问题的数量。 以下数据是从Github收集的,自2016年3月以来Oracle在JSR 372上的工作几乎相同。

JSR372Oracle问题解决方案

上面的图表清楚地表明,Oracle参与最终完成JSR 372的人数有所下降。这令人担忧,因为JSR 372以及Java EE 8中包含的其他项目的目标是在不到一年的时间内公开发布(3月2017年),似乎该目标现在已经比Java EE 8的实际发布日期更像是一个希望的目标。

JSR 368统计

从Oracle规范负责人的角度来看,JSR 368的统计数据表明活动的减少甚至更多。 再次,规范负责人在领导该项目方面做得非常出色,直到10月下旬从Oracle的角度看来所做的更改为止。

首先,查看电子邮件,可以很容易地看出来有一封邮件。 但是,JMS 2.1电子邮件在2015年的大部分时间似乎都很缓慢。

JMS2.1电子邮件
JMS 2.1的提交次数告诉了一个不同的故事,自2015年末以来似乎没有进行过任何提交。

JMS2.1提交

 

就问题解决而言,JMS 2.1生命周期几乎没有任何活动。

JMS2.1IssueResolutions

一切都很好,但是将这些数据与JMS 2.0数据进行比较就可以清楚地表明,为2.1版本开发JMS并没有付出太多努力。

JMS2.0vs2.1问题解决方案

JMS2.0vs2.1提交

JMS2.0vs2.1电子邮件

这篇文章的主要目的是提醒Java SE和Java EE社区,Oracle对Java EE 8的参与明显减少了。我与社区中的其他大多数人一样,非常担心正在付出的努力Java EE 8 JSR的下降速度惊人,似乎表明此发行版在优先级列表中的排名不是很高。

就是说,除了过去的活动之外,我认为甲骨文在过去的五到六年中在激活Java SE和Java EE社区方面做得非常出色。 我为能穿上GlassFish无檐小便帽和Oracle Java EE 7 T恤感到骄傲……让每个人都知道成为这个社区的一部分是多么伟大。 我喜欢在会议上发表有关最新Java EE技术的演讲,并撰写文章分享知识。

我认为社区中的其他人都支持我的观点,那就是甲骨文就Java EE的未来发展意图发表明确声明是一件好事。 它不仅有助于消除即将出现的不确定性,而且还有助于依赖Java EE的许多客户和组织对即将发生的事情有清晰的了解。

我希望我们能很快看到活动的发展,以便我们可以在不久的将来继续引领另一个重要的Java EE版本的发布,从而在涉及尖端技术时保持平台的优势。 希望看到Java SE和Java EE平台在很长的将来会继续发展!

翻译自: https://www.javacodegeeks.com/2016/05/java-ee-8-current-status-case-study-completed-work-since-late-2015.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/353367.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Matlab矩阵替换所有等于某个值的数

若非NaN:a[2,5;1,4;1,4;3,6;3,6;2,5];a(a1)0;%所有1替换为0%上述方法可以把数替换为NaN但不能把NaN替换为数 若为NaNa(isnan(a))0;%将NaN替换为0

将Sublime Text3添加到右键菜单中

方法一(推荐) 把以下代码,复制到SublimeText3的安装目录,然后重命名为:sublime_addright.inf,然后右击安装就可以了。 PS:重命名文件之前,需要先在工具--文件夹选项,查看…

Matlab判断矩阵是否为对称矩阵

if AA%是对称矩阵if A~A%不是对称矩阵

Lombok,一种编译时Java注释预处理器,可最大程度地减少代码大小

在本文中,我们将看到如何在常规Java代码中使用lombok来最小化代码长度和冗余。 什么是Lombok? Lombok,一个编译时注释预处理器,有助于在编译时注入一些代码。 在详细介绍之前,我要求您应该从他们的网站上观看视频。 …

如何面对人生逆境

在违缘中坚定自我 什么是违缘?违缘就是我们生活、修行等方面所遇到不如意有障碍的事。违缘也可以说是一种逆境、一种挫折。    我们生存在这个世界,在人生的道路上不可能永远都是一帆风顺的。当我们遇到违缘时,应该以怎样的心态去面对&am…

Matlab求重复数字的个数tabulate

求重复数字的个数使用tabulateTABLE tabulate(x)TABLE tabulate(x) creates a frequency table of data in vector x. Information in TABLE is arranged as follows:1st column — The unique values of x2nd column — The number of instances of each value3rd column —…

css3实现雷达图

效果图&#xff1a;gif图&#xff1a;代码&#xff1a;<!DOCTYPE html> <html > <head> <meta charset"UTF-8"> <meta http-equiv"X-UA-Compatible" content"IEEdge,chrome1"/> <meta name"viewpor…

Matlab去掉矩阵中的全0行或列

a[1 2 3;0 0 0;2 1 6];%去掉矩阵中的全0行a(all(a0,2),:) [];%去掉矩阵中的全0列a(all(a0,1),:) [];

STL set

STL set 百科名片 STL 对这个序列可以进行查找&#xff0c;插入删除序列中的任意一个元素&#xff0c;而完成这些操作的时间同这个序列中元素个数的对数成比例关系&#xff0c;并且当游标指向一个已删除的元素时&#xff0c;删除操作无效。而一个经过更正的和更加实际的定义应该…

Matlab删除包含NaN的行

a(isnan(a(:,b)),:)[];%删除a矩阵中第b列包含NaN的行

哈希扩展长度攻击_哈希长度扩展攻击

哈希扩展长度攻击在这篇文章中&#xff0c;我将尽力避免夏季的低迷&#xff0c;而将重点放在比抱怨天气更有趣的事情上-哈希长度扩展攻击。 散列长度扩展攻击并不复杂也不复杂&#xff0c;说实话&#xff0c;这只是关于如何使用散列函数。 正如我以前的一篇文章中所讨论的那样&…

DataURL与File,Blob,canvas对象之间的互相转换的Javascript (未完)

canvas转换为dataURL (从canvas获取dataURL) var dataurl canvas.toDataURL(image/png); var dataurl2 canvas.toDataURL(image/jpeg, 0.8); 转:https://blog.csdn.net/cuixiping/article/details/45932793 转载于:https://www.cnblogs.com/fps2tao/p/9273815.html

sscanf用法详解-hdu2072

名称: sscanf() - 从一个字符串中读进与指定格式相符的数据.   函数原型:   Int sscanf( string str, string fmt, mixed var1, mixed var2 ... );   int scanf( const char *format [,argument]... );   说明&#xff1a;   sscanf与scanf类似&#xff0c;都是…

只需几分钟即可安装Red Hat Container Development Kit(视频)

自从我开始使用各种形式的OpenShift&#xff08;例如带盒的Online&#xff0c;然后又作为容器化的图像&#xff09;玩耍以来&#xff0c;没有什么比Red Hat Container Development Kit&#xff08;CDK&#xff09;的可用性令我兴奋。 该套件使您可以轻松地访问完整的&#xff…

一、Objective-C之Runtime的概念

前一篇关于NSProxy代理涉及到的关于消息转发&#xff0c;把以前写的runtime文章从github上转移过来。一共三篇&#xff0c;似乎自己也忘记了一些runtime的细节&#xff0c;需要温故一下。 一、什么是Objc的Runtime&#xff1f; Runtime是Objc语言的磐石&#xff0c;Objc语言得以…

matlab 替换指定的元素

方法二&#xff1a;a[12 4 5 6 0 12 0];bfind(a0);%将a中的0替换为8a(b)8方法一&#xff1a;a[12 4 5 6 0 12 0];blogical(a0);%将a中的0替换为8&#xff08;%数值转逻辑&#xff0c;不知道为什么可以这样用&#xff09;a(b)8注&#xff1a;1. 该替换函数不能替换NaN替换NaN可用…

[P1580] yyy loves Easter_Egg I

Link: P1580 传送门 Solution: 拿来练练字符串的读入&#xff1a; 1、$gets()$相当于$c$中的$getline()$&#xff0c;但返回值为指针&#xff01;&#xff08;无数据时为NULL&#xff09; &#xff08;都读入换行符&#xff0c;并将其舍弃&#xff09; 2、$sscanf(起始指针,...…

matlab按某一列排序

bsortrows(a,2) %a 为要排序的矩阵。2表示按第几列进行排序&#xff0c;整数代表升序&#xff0c;负数代表降序。%将矩阵a按照第2列的升序排列&#xff0c;其他列不会作升序排列&#xff0c;而是将跟随着第2列 的变化&#xff0c;保持一一对应。bsortrows(a,-3) %将矩阵a按照…