JFinal Undertow 1.3 发布,从极速开发到极速上线

JFinal
 JFinal
发布于 2018年12月12日
收藏 48

从 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 

本站文章除注明转载外,均为本站原创或编译。欢迎任何形式的转载,但请务必注明出处,尊重他人劳动共创开源社区。
转载请注明:文章转载自 开源中国社区 [http://www.oschina.net]
本文标题:JFinal Undertow 1.3 发布,从极速开发到极速上线
加载中

精彩评论

红薯
红薯
牛逼,不用再装环境了!
Javen-IJPay
Javen-IJPay
牛B 运行环境以及配置环境在项目中都搞定了,下一步是不是计划微服务了。
杜福忠
杜福忠
😂 开会去了...没抢到沙发... 对内部办公系统用这一个就完全足够了! 一键部署, 配置HTTPS也是极简~
Jieven
Jieven
明天就用,坐等,在线管道动态发版本,不用重启实例.
xialinlin8520
xialinlin8520
😘

最新评论(93

岳思伟
岳思伟
紧跟脚本
蔡培元
蔡培元
精品 爱不释手
xflcx1991
xflcx1991

引用来自“xflcx1991”的评论

用了undertow,从此抛弃了Servlet容器?话说ActFramework 也用undetow,这是一个趋势吗?

引用来自“JFinal”的评论

undertow 也是 servlet 容器,servlet 这个 java web 规范本身很简洁,而且对于功能全面的 web 来说,基于 serlvet 做比基于 http 层来做要方便完善

如果不基于 serlvet,自己得在 http 层面上做很多事情,而这些事情对于使用框架的开发者来说没什么感知,对于对 java web 规范有所积累的人来说,扔掉 serlvet 反而会增加学习成本。当然,如果你要做的并不是一个严格的 web 项目,而仅仅是提供 http API 服务这种确实可以扔掉 servlet 搞一套,会更轻量级

undertow 的优势在于比 tomcat 轻量级,架构更优雅,并且更容易嵌入式使用
感谢解答。
JFinal
JFinal

引用来自“小强哥unas”的评论

早就盼着有这样的一个功能,不用再配置tomcat了,希望有官方的整体生态和分布式解决方案
分布式有被托管的可能,阿里正在内测:https://help.aliyun.com/document_detail/97792.html?spm=a2c4g.11186623.6.550.53d63be6uwQUB8

有俱乐部小伙伴已经在用了,体验极好,使用阿里云提供的 eclipse 插件上传 jar 包就完成了部署,也就是说将来连云服务器都不用买了,你的应用可以一个一个往上部署:
http://www.jfinal.com/share/1262

有了 jfinal undertow,你可以将项目打成 fatjar ,一键部署到阿里云,不需要购买服务器
小强哥unas
小强哥unas
早就盼着有这样的一个功能,不用再配置tomcat了,希望有官方的整体生态和分布式解决方案
JFinal
JFinal

引用来自“徐舟”的评论

什么东西都急速了,程序员就更懒了,更不会去自己手动配置,了解这些实现了,比如里面说的https的实现,普通的Tomcat要配置的话,好歹要折腾一番,多多少少会了解点原理,但是现在这个折腾都不用折腾了,直接改个配置就行了。东西是好了,但是人会变傻

引用来自“你们都是技术宅”的评论

其实也没啥,码农之所以是码农,就是因为不管用啥都不想动脑子思考,有追求的人自己就会不断学习,而不是停在一个舒适区里出不来
工具更加省事了,并不意味着不去学新东西不去学原理,这两者没有因果关系,顶多只有弱相关关系

jfinal 社区群里面有不少高手,这些人使用 jfinal 高效地完成工作,省下来更多时间去深入学习
你们都是技术宅
你们都是技术宅

引用来自“徐舟”的评论

什么东西都急速了,程序员就更懒了,更不会去自己手动配置,了解这些实现了,比如里面说的https的实现,普通的Tomcat要配置的话,好歹要折腾一番,多多少少会了解点原理,但是现在这个折腾都不用折腾了,直接改个配置就行了。东西是好了,但是人会变傻
其实也没啥,码农之所以是码农,就是因为不管用啥都不想动脑子思考,有追求的人自己就会不断学习,而不是停在一个舒适区里出不来
bug0day
bug0day

引用来自“bug0day”的评论

极速**, 我能说太广告了吗。还有下载 tomcat、折腾 tomcat 配置。。。。。这个举例也太夸张了吧,务实一点

引用来自“JFinal”的评论

jfinal 2011 年第一个版本发布用于公司项目, 2012 年 3 月开源,持续优化、打磨、迭代近八年时间,非常务实,非常认真,非常严肃,八年前的定位就是 “极速开发框架”, 从未变过

jfinal 大概是每个季度发一个新版本,除了发新版本的时候在 oschina 发这么个贴子以外,从来不打广告,从来不做任何宣传,完全凭口碑发展起来

有少部分人有类似于你的感觉,是无法相信一个国产项目居然能做到贴子中表述的事实,情有可缘

只有亲身体验,才会有所认知,光看这个贴子在直观上有所偏差在所难免

这里是 3.0 版本发布时的盛况,里面谈到的一些独创性设计一般人肯定是难以相信的:
https://www.oschina.net/news/81225/jfinal-3-0-released

看看源码就能相信了:
https://gitee.com/jfinal/jfinal/tree/master/src/main/java/com/jfinal/template
好的,感谢回复,jfinal在oschina上的确知名度很高,几年前看过源码,有机会再拜读下。
JFinal
JFinal

引用来自“bug0day”的评论

极速**, 我能说太广告了吗。还有下载 tomcat、折腾 tomcat 配置。。。。。这个举例也太夸张了吧,务实一点
jfinal 2011 年第一个版本发布用于公司项目, 2012 年 3 月开源,持续优化、打磨、迭代近八年时间,非常务实,非常认真,非常严肃,八年前的定位就是 “极速开发框架”, 从未变过

jfinal 大概是每个季度发一个新版本,除了发新版本的时候在 oschina 发这么个贴子以外,从来不打广告,从来不做任何宣传,完全凭口碑发展起来

有少部分人有类似于你的感觉,是无法相信一个国产项目居然能做到贴子中表述的事实,情有可缘

只有亲身体验,才会有所认知,光看这个贴子在直观上有所偏差在所难免

这里是 3.0 版本发布时的盛况,里面谈到的一些独创性设计一般人肯定是难以相信的:
https://www.oschina.net/news/81225/jfinal-3-0-released

看看源码就能相信了:
https://gitee.com/jfinal/jfinal/tree/master/src/main/java/com/jfinal/template
bug0day
bug0day
极速**, 我能说太广告了吗。还有下载 tomcat、折腾 tomcat 配置。。。。。这个举例也太夸张了吧,务实一点
返回顶部
顶部