jfinal undertow 同一台服务器集群部署问题

jfinal undertow 同一台服务器集群部署,一套代码,启动多个端口。这样更新的时候只需要更新一个目录里面代码文件即可。具体要怎么修改才是正确姿势?

我的操作

  1. 复制jfinal.sh为jfinal_8081.sh

  2. 修改jfinal_8081.sh中的CP=${APP_BASE_PATH}/config:${APP_BASE_PATH}/lib/*,改为CP=${APP_BASE_PATH}/config_8081:${APP_BASE_PATH}/lib/*

  3. 修改config_808目录下undertow.txt中的undertow.port=8081

  4. 8082,8083同样操作

目录:

-config_8081

-config_8082

-config_8083

-lib

-webapp

-jfinal_8081.sh

-jfinal_8082.sh

-jfinal_8083.sh

这样的操作姿势正确吗?

评论区

杜福忠

2021-07-02 13:55

上面是一种方式,最简单的是用命令挂参端口即可,源码中有说明:
使用 System.getProperty(...) 加载命令行传入的 undertow.port 与 undertow.host 参数, 因为这两个参数最有可能在运行项目时进行变动,这个功能可以免去创建 config/undertow-pro.txt 来配置最需要变动的 port 与 host 参数,进一步节省时间 使用示例: java -Dundertow.port=8080 -Dundertow.host=0.0.0.0 -jar jfinal-club-release.jar 传参注意事项: 1:传参规则由 java 命令行给定,与 jfinal undertow 项目完全无关 2:传参以 "-D" 为前缀,并且该前缀与后方的参数名之间不能有空格 3:参数名与参数值中间用等号字符分格,且等号前后不能空格。

也就是说可以复制 jfinal.sh 里面只改 java -Dundertow.port=8080 这一行即可

杜福忠

2021-07-02 13:58

或者 在 jfinal.sh 里面 多复制几行
java -Dundertow.port=8080 ...
java -Dundertow.port=8081 ...
java -Dundertow.port=8082 ...
这样

SamUU

2021-07-02 17:33

@杜福忠 666 非常感谢!