重磅! Act 1.9 发布 - 弃用 Java7,支撑 Java 8 到 14

开源老码农
 开源老码农
发布于 2020年06月29日
收藏 11

精选30+云产品,助力企业轻松上云!>>>

大年夜家好, 我是老码农老罗。很高兴和大年夜家分享 ActFramework 1.9 的发布消息.

关于还不懂得 ActFramework 的小同伴, Act 是一款 Java Web 应用开辟框架. 在开辟体验, 表达力和运转时性能等方面有很强的优势. 上周末老码农方才做了 Act 的第一个分享直播, 录屏已登录 B 站: https://www.bilibili.com/video/BV1iK411n7iv/.

下面我们来看看 Act-1.9 带来了那些改进/修复:

1. 弃用 Java7 并支撑 Java8 ~ Java14

ActFramework 1.9 带来了 21 项改进/缺点修复. 个中最重要更改是 支撑 Java9 ~ Java14. 同时放弃对 Java7 的支撑. 这项改进支撑开辟应用 Java9 以上的新说话特点和 JDK 中的新办法. 同时还支撑开辟和安排情况的随便任性搭配, 意味着开辟者可以自在地选择开辟情况和安排情况:

  • 应用 Java8 开辟的应用可以安排到 Java8 和 Java9+ 的情况中运转
  • 应用 Java9+ 开辟的应用可以安排到 Java8 和 Java9+ 的情况中运转

2. 设备加载的改进

另外一个较大年夜改进在于设备文件的加载逻辑. 包含

#1318 从远端办事器加载设备

概略请拜见 issue 个中定义了若何完成远端办事器和安然通信.

#1345 许可应用定义本身的设备加载逻辑

应用只须要定义一个供给一下办法的类:

public Map<String, Object> loadConfigurations();


并用 conf-loader 指定该类名便可. Act 将在处理正常的设备加载和远端办事设备加载(假设存在)以后调用应用及定义设备加载逻辑.

3. 其他值得留意的改进包含

osgl-tool 依附更新到 1.25.0.

这个版本完成了一个很多小同伴经久请求需求: 为单字母名字空间供给别号. 下面是单字母名字空间的别号印射表:

  • $ -> Lang # 这是很早就存在的别号
  • C-> CollectionUtil
  • S -> StringUtil
  • E -> ExceptionUtil
  • N -> NumberUtil

#1337 许可递归加载测试场景文件

之前的版本只能加载 src/test/resources/scenarios 目次下直接的测试场景文件 (该目次下任何后缀为 .yml 的文件). Act 1.9 支撑递归加载该目次下随便任性层子目次的 .yml 文件, 便利测试场景文件的管理. 关于不懂得 ActFramework 主动测试支撑的小同伴, 这里是传送门.

#1336 许可在请求处理函数中注入另外一个控制器的实例

用过 Act 的小同伴都知道, Act 对请求参数绑定的支撑曾经是近乎 bug 的存在了. Act 1.9 的这个改进进一步加强了这方面的支撑. 改进源自老码农本身的一个实际项目. 某个项目中用于登录注册的 Authenticator 控制器类定义了一组绑定到 Session 变量的字段. 另外一个控制器的请求处理办法也须要应用这一组字段, 老码农不想重新列写一切的 @SessionVariable("a") String a 如许的代码, 是以干脆直接在参数列表里注入 Authenticator 实例. #1336 就是为这个需求办事的.

#1328 加强 HTTP Cache

这个加强也源自老码农的实际项目需求. 某项目办事须要发送的有些类型数据数量很大年夜, 但其实不常常更改. 是以我们的请求处理办法上应用了 @CacheFor 注解. 这个注解的意思是:

  1. 假设前端发来请求的 If-None-Match 头的值(前次发送照应的 E-Tag 头) 婚配本次计算出的 E-Tag 值, 则直接前往 304 Not Modified 照应. - 节俭带宽
  2. 按照请求参数生成 Key 并放置进缓存. 假设前端请求没有 If-None-Match 头, 或许值与 E-Tag 值不婚配, 则根据请求参数在缓存中查询, 找到则前往, 不然进入请求处理办法 - 从数据库中去数据并计算前往.

在老码农的特别项目里, 我们对内存的请求比较紧, 是以不欲望有中心缓存. #1328 的改进就是在 @CacheFor 注解中加上了 eTagOnly 这个变量, 假设设置为 true 则忽视掉落中心缓存, E-Tag 婚配不上直接进入请求处理器拿数据

#1320 增长在开辟形式下取得 System Properties 的办事端口

开辟形式下常常须要检查某个 System.Properies 值, 这里我们供给了一个体系办事端口: /~/system/properties/{property-name} 来便利开辟速查体系变量:

留意这个端口仅仅在开辟形式下可用. 当应用运转在产品形式下时请求该端口会前往 404 Not Found

#1317 当批处理情势运转主动测试时随机拔取未应用端口

Act 默许应用 5460 端口启动体系. 这个在开辟情况下没有成绩. 但假设公司安排了 CI 体系, 例如 Jenkins, 有能够多个应用项目或许单个项目标多个实例会同时启动(测试), 应用固定端口会带来端口抵触. #1317 的改进在于当以批处理方法运转主动化测试的时辰随机拔取未应用端口来启动项目:

#1313 改退路由掉足时的报错信息

下面的代码会招致路由映照缺点 - 同一个路由 (/foo) 映照到不合的请求处理办法上:

之前的版本不克不及很好地定位到掉足地点:

新版本供给的缺点信息对开辟人员更了如指掌:

以上是老码农给大年夜家分享的 Act-1.9 带来的重要改进. 更多新版本的修复和改进信息可以在这里取得.

Act-1.9 的坐标, 在你的 pom.xml 文件中参加 parent:

  <parent>
    <groupId>org.actframework</groupId>
    <artifactId>act-starter-parent</artifactId>
    <version>1.9.0.1</version>
  </parent>

假设须要启动新的项目, 可以从这里拔取你须要的项目类型.

最后, 感激老用户对 Act 的信赖与支撑, 迎接新人测验测验 Act, 其他资本:

本站文章除注明转载外,均为本站原创或编译。迎接任何情势的转载,但请务必注明出处,尊敬他人休息共创开源社区。
转载请注明:文章转载自 OSCHINA 社区 [http://www.aledoyoga.com]
本文标题:重磅! Act 1.9 发布 - 弃用 Java7,支撑 Java 8 到 14
加载中
此消息有 27 条评论,请先登录后再检查。
前往顶部
顶部