Skip to content

TongWeb (东方通中间件) 部署说明

一、说明

  • 东方通中间件,类似tomcat。
  • 提供了网页部署的功能,通过war包直接部署。
  • 收费购买后,有技术支持。

二、安装东方通中间件

  • 把安装包拷贝到服务器。

图片

  • 解压安装包。

图片

  • 授权文件:把对方提供的有效授权文件放到安装目录下,license.dat

图片

  • 启动项目:命令行进入bin目录,执行 startserver.sh 或 startservernohup.sh

图片

图片

三、东方通帮助文档

  • 相关文档,在安装目录下的/doc/目录下。

图片

图片

  • 上图中 [001_TongWeb V7.0 快速使用手册_7049_M3A01.pdf] 文档,是基本使用方法文档。

图片

四、登录控制台,部署应用

4.1 登录控制台

  • 打开浏览器,输入 http://localhost:9060/console/ 启动成功。
  • 默认账号密码:thanos/thanos123.com
  • 首次登录必须修改密码,不能和原密码一样。

图片

4.2 部署应用

  • 点击左侧菜单栏中的“应用管理”,然后点击“部署应用”。

图片

  • 把打包好的war包上传到服务器。
  • 文件位置:本机;部署文件:选择上传的war包。
  • 点击“开始部署”。

图片

  • 填写相关表单(可修改上下文,如下图:/server/),然后点击“下一步”。

图片

  • 选择虚拟主机(选择默认的虚拟主机即可),然后点击“下一步”。

图片

  • 等待部署完成,回到应用列表。

图片

图片

五、修改部署文件,更新部署

5.1 部署目录

  • 刚才项目的部署目录:TongWeb7安装目录/deployment/项目名Server/
  • 如下图所示:TongWeb7/deployment/wfjqmyServer/

图片

5.2 修改配置文件

  • Springboot相关的配置文件,在/项目目录/WEB-INF/classes/目录下。
  • 如:application.yml、xss.ignore等。

图片

5.3 如需重新部署war包,可在本地解压war包,把需要拷贝的文件,直接拷贝至以上目录。

5.4 点击“重部署”按钮,更新部署。

图片

六、错误日志

  • 错误日志,在/TongWeb7安装目录/logs/server.log

图片

七、常见问题

- 7.1 上传图片失败(缺少图片压缩使用的 jai-imageio-core-1.4.0.jar 包)

  • 原因:TongWeb对jar包的安全性做了限制。
  • 解决方法:把jar包放到[/TongWeb7安装目录/lib/]目录下。

图片

  • 然后重启TongWeb服务。
  • 进入bin目录,先关闭服务 ./stopserver.sh
  • 再开启服务 startservernohup.sh

图片

说明

  • 其他缺少jar包情况,可同上处理。

- 7.2 中文乱码问题

注意

  • 东方通中间件,默认编码都是GBK,需要修改为UTF-8
  • 共4处需要修改:
  1. 第一处,【WEB容器配置 - 容器配置】,如下图所示,改好后需要重启东方通服务。

图片

停止项目:命令行进入bin目录,执行 ./stopserver.sh
启动项目:命令行进入bin目录,执行 startservernohup.sh

  1. 第二、三、四处,【WEB容器配置 - HTTP通道管理】,如下图所示,无需重启。

图片

【system-http-listener】通道的编码格式改为UTF-8

图片

【tong-http-listener】通道的编码格式改为UTF-8

图片

【ejb-server-listener】通道的编码格式改为UTF-8

图片

- 7.3 导入Excel或上传文件导致TongWeb卡顿问题

  • 问题描述:

上传文件/导入Excel,使用@AutoOperateLog注解,会导致TongWeb卡顿。

  • 分析原因:

记录操作日志的切面方法(AutoOperateLogAspect.java)中,会记录body,而上传文件时,会将整个文件全部读入内存,导致TongWeb卡顿。

  • 解决方法:

判断请求参数:

  • 修改代码:

修改前:

java
public class AutoOperateLogAspect {
    // 省略其他代码...
    public Object around(ProceedingJoinPoint joinPoint, AutoOperateLog autoOperateLog) throws Throwable {
        // 省略其他代码...
        content.set("body", JSONUtil.toJsonStr(joinPoint.getArgs())); // 这一行是修改前的代码
        // 省略其他代码...
    }
}

修改后:

java
public class AutoOperateLogAspect {
    // 省略其他代码...
    public Object around(ProceedingJoinPoint joinPoint, AutoOperateLog autoOperateLog) throws Throwable {
        // 省略其他代码...
        // 用下面这些代码替换掉上面的代码
        // 判断传参数中是否有上传文件,如果有,则不记录body参数
        boolean hasFile = false;
        for (Object arg : joinPoint.getArgs()) {
            if (arg instanceof MultipartRequest) {
                // 包含上传文件,不处理body参数
                hasFile = true;
            }
        }
        if (hasFile) {
            content.set("body", "上传文件,不记录body参数");
        } else {
            content.set("body", JSONUtil.toJsonStr(joinPoint.getArgs()));
        }
        // 省略其他代码...
    }
}

注意

  • 框架 v1.1.16 版本已修复此问题,低于此版本的用户需要修复。