日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 综合教程 >内容正文

综合教程

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

發(fā)布時(shí)間:2023/11/22 综合教程 42 生活家
生活随笔 收集整理的這篇文章主要介紹了 重磅! Act 1.9 发布 - 弃用 Java7,支持 Java 8 到 14 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

  大家好, 我是老碼農(nóng)老羅。很高興和大家分享 ActFramework 1.9 的發(fā)布新聞.

  對(duì)于還不了解 ActFramework 的小伙伴, Act 是一款 Java Web 應(yīng)用開發(fā)框架. 在開發(fā)體驗(yàn), 表達(dá)力以及運(yùn)行時(shí)性能等方面有很強(qiáng)的優(yōu)勢(shì). 上周末老碼農(nóng)剛剛做了 Act 的第一個(gè)分享直播, 錄屏已登錄 B 站: https://www.bilibili.com/video/BV1iK411n7iv/.

  下面我們來看看 Act-1.9 帶來了那些改進(jìn)/修復(fù):

  1. 棄用 Java7 并支持 Java8~ Java14

  ActFramework 1.9 帶來了 21 項(xiàng)改進(jìn)/錯(cuò)誤修復(fù). 其中最主要變動(dòng)是 支持 Java9 ~ Java14. 同時(shí)放棄對(duì) Java7 的支持. 這項(xiàng)改進(jìn)支持開發(fā)使用 Java9 以上的新語言特性以及 JDK 中的新方法. 同時(shí)還支持開發(fā)和部署環(huán)境的任意搭配, 意味著開發(fā)者可以自由地選擇開發(fā)環(huán)境和部署環(huán)境:

  • 使用 Java8 開發(fā)的應(yīng)用可以部署到 Java8 以及 Java9+ 的環(huán)境中運(yùn)行
  • 使用 Java9+ 開發(fā)的應(yīng)用可以部署到 Java8 以及 Java9+ 的環(huán)境中運(yùn)行

  2. 配置加載的改進(jìn)

  另一個(gè)較大改進(jìn)在于配置文件的加載邏輯. 包括

  #1318 從遠(yuǎn)端服務(wù)器加載配置

  詳情請(qǐng)參見 issue 其中定義了如何實(shí)現(xiàn)遠(yuǎn)端服務(wù)器以及安全通信.

  #1345 允許應(yīng)用定義自己的配置加載邏輯

  應(yīng)用只需要定義一個(gè)提供一下方法的類:

public Map<String, Object> loadConfigurations ();

  并用 conf-loader 指定該類名即可. Act 將在處理正常的配置加載以及遠(yuǎn)端服務(wù)配置加載(如果存在)之后調(diào)用應(yīng)用及定義配置加載邏輯.

  3. 其他值得注意的改進(jìn)包括

  osgl-tool 依賴更新到 1.25.0.

  這個(gè)版本實(shí)現(xiàn)了一個(gè)很多小伙伴長(zhǎng)期要求需求: 為單字母名字空間提供別名. 下面是單字母名字空間的別名印射表:  

  • $ -> Lang # 這是很早就存在的別名
  • C-> CollectionUtil
  • S -> StringUtil
  • E -> ExceptionUtil
  • N -> NumberUtil

  #1337 允許遞歸加載測(cè)試場(chǎng)景文件

  以前的版本只能加載 src/test/resources/scenarios 目錄下直接的測(cè)試場(chǎng)景文件 (該目錄下任何后綴為 .yml 的文件). Act 1.9 支持遞歸加載該目錄下任意層子目錄的 .yml 文件, 方便測(cè)試場(chǎng)景文件的管理. 對(duì)于不了解 ActFramework 自動(dòng)測(cè)試支持的小伙伴, 這里是傳送門.

  #1336 允許在請(qǐng)求處理函數(shù)中注入另一個(gè)控制器的實(shí)例

  用過 Act 的小伙伴都知道, Act 對(duì)請(qǐng)求參數(shù)綁定的支持已經(jīng)是近乎 bug 的存在了. Act 1.9 的這個(gè)改進(jìn)進(jìn)一步增強(qiáng)了這方面的支持. 改進(jìn)源自老碼農(nóng)自己的一個(gè)實(shí)際項(xiàng)目. 某個(gè)項(xiàng)目中用于登錄注冊(cè)的 Authenticator 控制器類定義了一組綁定到 Session 變量的字段. 另一個(gè)控制器的請(qǐng)求處理方法也需要使用這一組字段, 老碼農(nóng)不想重新列寫所有的 @SessionVariable ("a") String a 這樣的代碼, 因此干脆直接在參數(shù)列表里注入 Authenticator 實(shí)例. #1336 就是為這個(gè)需求服務(wù)的.

  #1328 增強(qiáng) HTTP Cache

  這個(gè)增強(qiáng)也源自老碼農(nóng)的實(shí)際項(xiàng)目需求. 某項(xiàng)目服務(wù)需要發(fā)送的有些類型數(shù)據(jù)數(shù)量很大, 但并不常常變動(dòng). 因此我們的請(qǐng)求處理方法上使用了 @CacheFor 注解. 這個(gè)注解的意思是:

  1. 如果前端發(fā)來請(qǐng)求的 If-None-Match 頭的值(上次發(fā)送響應(yīng)的 E-Tag 頭) 匹配本次計(jì)算出的 E-Tag 值, 則直接返回 304 Not Modified 響應(yīng). - 節(jié)省帶寬
  2. 按照請(qǐng)求參數(shù)生成 Key 并放置進(jìn)緩存. 如果前端請(qǐng)求沒有 If-None-Match 頭, 或者值與 E-Tag 值不匹配, 則根據(jù)請(qǐng)求參數(shù)在緩存中查詢, 找到則返回, 否則進(jìn)入請(qǐng)求處理方法 - 從數(shù)據(jù)庫中去數(shù)據(jù)并計(jì)算返回.

  在老碼農(nóng)的特殊項(xiàng)目里, 我們對(duì)內(nèi)存的要求比較緊, 因此不希望有中間緩存. #1328 的改進(jìn)就是在 @CacheFor 注解中加上了 eTagOnly 這個(gè)變量, 如果設(shè)置為 true 則忽略掉中間緩存, E-Tag 匹配不上直接進(jìn)入請(qǐng)求處理器拿數(shù)據(jù)

  #1320 增加在開發(fā)模式下獲得 System Properties 的服務(wù)端口

  開發(fā)模式下常常需要檢查某個(gè) System.Properies 值, 這里我們提供了一個(gè)系統(tǒng)服務(wù)端口: /~/system/properties/{property-name} 來方便開發(fā)速查系統(tǒng)變量:

  注意這個(gè)端口僅僅在開發(fā)模式下可用. 當(dāng)應(yīng)用運(yùn)行在產(chǎn)品模式下時(shí)請(qǐng)求該端口會(huì)返回 404 Not Found

  #1317 當(dāng)批處理形式運(yùn)行自動(dòng)測(cè)試時(shí)隨機(jī)選取未使用端口

  Act 默認(rèn)使用 5460 端口啟動(dòng)系統(tǒng). 這個(gè)在開發(fā)環(huán)境下沒有問題. 但如果公司部署了 CI 系統(tǒng), 例如 Jenkins, 有可能多個(gè)應(yīng)用項(xiàng)目或者單個(gè)項(xiàng)目的多個(gè)實(shí)例會(huì)同時(shí)啟動(dòng)(測(cè)試), 使用固定端口會(huì)帶來端口沖突. #1317 的改進(jìn)在于當(dāng)以批處理方式運(yùn)行自動(dòng)化測(cè)試的時(shí)候隨機(jī)選取未使用端口來啟動(dòng)項(xiàng)目:

  #1313 改進(jìn)路由出錯(cuò)時(shí)的報(bào)錯(cuò)信息

  下面的代碼會(huì)導(dǎo)致路由映射錯(cuò)誤 - 同一個(gè)路由 (/foo) 映射到不同的請(qǐng)求處理方法上:

  以前的版本不能很好地定位到出錯(cuò)地點(diǎn):

  新版本提供的錯(cuò)誤信息對(duì)開發(fā)人員更一目了然:

  以上是老碼農(nóng)給大家分享的 Act-1.9 帶來的主要改進(jìn). 更多新版本的修復(fù)和改進(jìn)信息可以在這里獲得.

  Act-1.9 的坐標(biāo), 在你的 pom.xml 文件中加入 parent:

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

  如果需要啟動(dòng)新的項(xiàng)目, 可以從這里選取你需要的項(xiàng)目類型.

  最后, 感謝老用戶對(duì) Act 的信任與支持, 歡迎新人嘗試 Act, 其他資源:  

  • 英文聊天室
  • 技術(shù)支持
  • 啟動(dòng)新項(xiàng)目的方法
  • 示例項(xiàng)目合集

總結(jié)

以上是生活随笔為你收集整理的重磅! Act 1.9 发布 - 弃用 Java7,支持 Java 8 到 14的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。