最近對light-4j輕框架比較感興趣,於是對現有應用做了一次重構,現將其間的一些點滴所得分享出來。
- 項目打包
pom.xml配置了兩個profile:debug支持mvn exec:exec啟動應用(IDE可以直接調試主類com.networknt.server.Server所以沒啥用),release支持mvn package -P release -Dmaven.javadoc.skip=true(javadoc失敗所以跳過)。繼續配置maven-jar-plugin:<addClasspath>true</addClasspath>,參考start.sh:
[sourcecode language='bash' padlinenumbers='true' collapse='false' gutter='false' htmlscript='false' light='false' toolbar='false'] mvn compile jar:jar mvn dependency:copy-dependencies -DoutputDirectory=target setsid java -Dlight4j.directory=/soft/softwares/library/ -Dlogserver -jar target/light4j-3.0.1.jar >> /dev/null 2>&1 & [/sourcecode]
- 支持https+http2
server.yml配置了enableHttps: ${enableHttps},可以通過環境變量來控制應用監聽https或http端口(env enableHttps=true),start.sh里面的keystore()方法用於將xlongwei.key+pem轉換為server.keystore文件,曾經試過運行兩次java命令來分別監聽http和https,后來自定義主類可以啟動兩個Server:setsid java -Dlight4j.directory=/soft/softwares/library/ -Dlogserver -cp target/light4j-3.0.1.jar com.xlongwei.light4j.Servers >> /dev/null 2>&1 &
- http2客戶端
ite-sdk支持okhttp和httpclient兩種實現,okhttp可以支持http2協議,Json對本站微服務提供了部分封裝,參考相關依賴,測試服務。