jxTMS是以低成本快速定制为核心诉求的、SaaS模式的业务管理系统二次开发平台,可参考:jxTMS简介。建议使用前先阅读:jxTMS设计思想,以更好的使用jxTMS。
本次发布为docker版本,本系列文章主要介绍docker版本的简单使用:
helloWorld!
helloWorld!讲解
数据库访问
静态web界面
勾连python
导入excel文件
图表显示
准备
1、下拉镜像
因为是docker版本,所以只要下拉相应的镜像而免去了安装与配置的麻烦:
docker pull jxandrew/tms
镜像因为预装了java、mysql和rabbitMQ等环境依赖,所以比较大,请耐心等待。
2、启动容器
镜像下拉成功后,执行:
docker run -itd --name tms --privileged=true -p 10022:22 -p 10018:10018 jxandrew/tms
即可启动一个名为tms的容器。该容器使用到了三个端口:
tms容器启动后,可执行:
docker attach tms
连接到tms容器的root用户控制台,某些时候我们需要通过该控制台执行一些任务。
注:在该root用户控制台退出时,即执行了exit命令,可能会同时自动关闭tms容器
关闭容器,可执行:
docker stop tms
容器关闭后,如需再次启动,则执行:
docker start tms
3、启动jxTMS
启动容器:
docker start tms
连接到tms容器的root用户控制台:
docker attach tms
启动jxTMS,可执行下述命令:
#进入tms所在目录
cd /home/tms
#启动jxTMS
./startTMS
startTMS是一个unix的shell脚本:
#!/bin/bash
service ssh start
service mysql start
cd /var/run
rm -f rsync*
service rsync start
service rabbitmq-server start
cd /home/tms
java -jar tms.jar&
注1:rabbitMQ启动时间很长,而且启动完就立刻启动jxTMS,有时还会连不上,所以笔者又在脚本中加了sleep 5以进行等待。如果启动还不成功,要先杀掉jxTMS进程,然后手动执行:java -jar tms.jar&
注2:jxTMS是设计用来作为服务程序一直执行的,所以没有关闭命令,如果想关闭jxTMS需要手动杀掉jxTMS进程:
#查看jxTMS进程号
psg java
#该脚本会显示所有命令行中带java的进程,找到【java -jar tms.jar】所在行,开头的数字就是进程号
#kill 12345
startTMS非常简洁,就是依次启动sshd、mysql、rsync、rabbitmq四个服务,然后用java来启动jxTMS的jar包。
注:jxTMS是以java8开发的,千万不要升级java环境
rabbitMQ启动时间很长,所以启动过程需要花费几分钟的时间,请耐心等待一下。脚本执行完毕,会有大量的log信息出现,忽略log中的日期和代码位置等信息后,最后会出现:
org.demoOrg_2255【org/demoOrg_2255】添加到目录中
org.demoOrg_2255 register:ok/服务器正常响应
org.demoOrg_2255 connected
看到这些信息,就表明jxTMS启动成功,同时我们预先创建的组织【demoOrg_2255】也已经成功注册到jxTMS中,我们就可以登录到该组织中开始使用了。
注:如果长时间不动,控制台可能会有如下报错:
** BEGIN NESTED EXCEPTION ** javax.net.ssl.SSLException
MESSAGE: closing inbound before receiving peer's close_notifySTACKTRACE:......** END NESTED EXCEPTION **
该报错其实是mysql连接池在释放多余的连接,忽略即可。
4、系统日志
上述报错信息会影响对系统运行情况的观察,同时控制台log如果数据量太大,如启动日志,前面的日志信息就会看不到了。可执行如下命令来查看系统日志:
cd /home/tms/logs
#查看实时日志
tail -f rolling.log
#查看倒数xxx行的日志,同时可以分页慢慢看
tail -n xxx rolling.log | more
#从头分页看日志,但数量比较多,不好定位
more rolling.log
注:系统日志中只包含平台相关的log信息,开发者一般是不需要关心系统日志,而更关心的是自己所需定制的组织的日志信息。各组织的运行信息和用户操作信息由组织日志提供,后面会予以具体讲解
参考资料:
jxTMS设计思想
jxTMS编程手册
下面的系列文章讲述了如何用jxTMS开发一个实用的业务功能:
如何用jxTMS开发一个功能
下面的系列文章讲述了jxTMS的一些基本开发能力:
jxTMS的HelloWorld