JFinal Undertow 1.3 釋出,從極速開發到極速上線
從 JFinal 3.0 重新定義模板引擎實現了 MVC + ORM 各層的極速開發(3.0 釋出盛況傳送門),到 JFinal 3.4 將極速貫徹到 UI 層,實現了 UI 層的極速開發 (3.4 釋出盛況傳送門),“開發過程” 的極速化目標已經達成
但是,在享受著 JFinal 帶來的絲滑般快感的同時,聰明的 JFinal 俱樂部小夥伴們提出了一個新的追問:能否讓專案的打包、部署、上線也極速化。公司老闆一天到晚催這一版什麼時候上線?這一版什麼時候上線?
大量小夥伴的專案上線過程大至是這樣的:下載 tomcat、折騰 tomcat 配置、匯出 war 包、上傳 war 包、配置 tomcat 的 server.xml、啟動專案。如果要配置 https 還得狠狠折騰一翻
開發過程是極速了,但上線過程卻十分無聊和緩慢,這與 JFinal 一直以來的極速化風格嚴重不匹配,這其中的落差尤如高速路上飛馳的跑車突然開進泥濘的沼澤。再一次,JFinal Undertow 1.3 出手,將打包、部署、上線也一併極速化
1、極速啟動
一行程式碼啟動 jfinal 專案:
UndertowServer.start(App.class);
啟動時間比以往的 Jetty Server 快三倍,JFinal 俱樂部專享專案只需 1.4 秒啟動完畢
2、極速熱載入
jfinal undertow 支援開發時的熱載入,效能比 jetty server 要高出很多,使用方式極為便捷:
undertow.devMode=true
jfinal undertow 的熱載入時間保持在 0.5 左右,讓開發更加順滑
3、極速打包
一行命令打包在可釋出的各種壓縮包:zip、tar、tar.gz
mvn clean package
4、極速上線
將打好的包解壓即完成部署,執行其中的 start.sh 或 start.bat 即可上線。再也不需要折騰 tomcat 或 jetty 的下載、配置
5、極速開啟 https
隨著微信小程式的迅猛發展以及線上支付的普及,要接入小程式與支付必須按騰迅要求開啟 https。開啟 https 是個相對麻煩的過程,jfinal undertow 將這個過程極致簡化,獲取到 SSL 證書以後只需要在專案 resources 目錄的配置檔案中新增下面配置:
# 是否開啟 ssl undertow.ssl.enable=true # ssl 監聽埠號 443 undertow.ssl.port=443 # 金鑰庫型別 PKCS12 undertow.ssl.keyStoreType=PKCS12 # 金鑰庫檔案 undertow.ssl.keyStore=demo.pfx # 金鑰庫密碼 undertow.ssl.keyStorePassword=123456
沒有再比這更快速、簡單、方便的開啟 https 方式
有了如上的各種極速就算完嗎? 當然不是,還有各種極速等著大家去把玩、享受,例如極速開啟 gzip 壓縮,極速開開啟 http2 支援,極速讓 http 重定向到 https:
undertow.gzip.enable=true undertow.http2.enable=true undertow.http.toHttps=true
三行配置搞定三個極速,你別告訴我你還想更快。已快到極致,光速都是有極限的
支援 https、開啟 http2、gzip 這些都是作為 web 專案必要的功能,類似於新增 Filter、Servlet、WebSocket 等等更多絲滑功能可通過 jfinal 官網瞭解:http://www.jfinal.com/doc/1-4
6、ONE MORE THING:
JFinal 俱樂部專享專案已切換到 jfinal undertow 1.3,本週末將在俱樂部直播講解 JFinal Undertow 各種順滑的極速用法,重點會講解 HTTPS/SSL 證書的獲取、配置使用,有興趣的同學趕緊上車 :http://www.jfinal.com/club