Payara基金会最近发布了5.183版Payara ServerPayara Micro,其中包含大量新功能、升级和Bug修复,并开始全面支持MicroProfile 2.0和Java EE 8。该版本提供的新功能包括:有关MicroProfile API和Admin Console的更新,针对OpenID规范的支持,以及一套全新的应用程序部署描述符架构。

最初诞生于2014年的Payara原本基于开源版本的GlassFish 4.1,后者当时由Oracle负责维护。Payara始终致力于通过维持开源,小巧/简单/强大,并兼容各大主流云平台,借此为用户提供一流支持

2017年引入的Payara发布流定义了面向用户的发布计划;所有Payara用户均可加入的社区流是一种每季度发布一次的计划,其中包含大量新功能、更新和Bug修复。此外Payara用户还可选择功能流,每个月该计划会针对每季度发布一次的版本提供补丁;此外还可选择稳定流,该计划的补丁发布更频繁,可进一步改善稳定性和一致性。

Payara 5.183是2018年第三季度发布的最新版。今年初,Payara创始人兼总监Steve Milledge曾经讨论过Payara的2018开发计划,当时他提出5.183版将主要侧重于反应式和异步编程,尤其是:

计划于八月底发布的183版将侧重于扩展对反应式和异步编程的支持。当时的计划包括: 
– 确保Java EE API可通过Lambdas、Completable Futures、Collections并行流操作使用。 
– 支持使用Lambdas作为消息监听器。 
– 支持使用CDI bean作为消息监听器。 
– 通过@Asynch@Pooled@ClusterScoped@ServerScoped增强对CDI的支持。 
– 可部署的并发资源 
此外5.183版还将以MicroProfile 2.0为目标,不过取决于MicroProfile项目的进展,这一点可能会提前实现。

MicroProfile更新

为了符合MicroProfile 2.0规范,Payara更新了现有的API OpenAPIREST Client实现,并针对API Fault ToleranceConfigOpen TracingJWT-Auth提供了新的实现。

Fault Tolerance 1.1

更新后的Fault Tolerance已可与Metrics和Config API集成。通过收集并暴露多个Metric,可提供更丰富的信息,如具体执行了@FaultTolerance注解所封装的哪些方法,任何已触发断路器的状态,重试次数,失败次数等。此外,还可以使用特殊配置的键格式将参数提供给@FaultTolerance注解、类或方法。

Config 1.3

为了补全URL类,Payara引入了一种能将字符串转换为URI类,或任何包含可接受字符串构造的其他类的新方法,借此增加对URI类的支持。借此配置值将可以转换为使用字符串构造的任何类。

此外还新增了一种映射规则,借此可以更容易地将包含下划线的环境变量转换为配置键。

Open Tracing 1.1

Open Tracing 1.1现在已经符合最新的Open Tracing规范,借此可供Java API收集跟踪信息。此外还提供了标签,可用于标记跟踪具体是由哪些组件提供的。

JWT-Auth 1.1

更新后的JWT-Auth已经可与Config集成。在Payara早期最初的实现中,虽然可支持JWT-Auth公钥,但无法移植。通过使用Config,公钥已经可以指定为包含公钥的内容,或包含有关公钥位置的信息。

REST Client 1.1

REST Client最早是在5.182版中实现的,更新后已经开始对REST服务的调用提供异步支持。现在,它已经可以通过创建方法返回CompletionStage实例,并被其他线程以异步的方式跟踪。

为了完善URL类,Payara还开始支持在注入RestClient接口时,使用Config将URI类的实例设置为参数。与应用程序特定的URI/URL可指定为microprofile-config.properties文件中的配置键,如下所示:

org.redlich.payara.RestClientApp/mp-rest/url=http://localhost:8080/restapp

Admin Console

有关Payara Server管理控制台的改进主要是针对每个服务器实例提供了新增的MicroProfile设置页面。如下图所示,不同MicroProfile API现在具备了多种属性设置。

此外根据用户反馈,原本无序排列的服务器配置选项列,现在也开始按照字母顺序排序。

OpenID Connect

随着5.182版开始支持OAuth 2.0协议,Payara的5.183版已经可以支持OpenID Connect,这是一种基于OAuth的安全机制。OpenID Connect实现了OpenID规范,但正如OpenID Connect文档中所述:

OpenID Connect会执行很多与OpenID 2.0相同的任务,但具体的执行方式对API而言更友好,可被原生和移动应用所使用。为了提升登录和加密的健壮性,OpenID Connect定义了一套更优化的机制。虽然OAuth 1.0a与OpenID 2.0的集成需要使用扩展,但对OpenID Connect而言,OAuth 2.0的相关能力已经集成于协议本身了。

Comments are closed.