TongWeb4.6维护过程中常见问题

1. 产品安装

  • 为方便安装,可将其它机器上安装、配置好的TongWeb拷到本机上来使用,没有什么差别,只需注意将conf/deployment下的watched-url.xml删除重新生成即可。

2. 升级TongWeb补丁

  • 打完TongWeb的P_TW4.6.9.*.jar 补丁, TongWeb会恢复为默认设置,需要重新查检TongWeb配置,特别是bin下的tongserver脚本中的JVM内存设置需要重新填加。在启动TongWeb时可能会报JMS异常,这时需要删除conf/jms下的data目录即可解决问题。

3. 查看TongWeb的具体版本号

  • 有两种方式可以查看TongWeb的具体版本号。
    (1). 从conf 下的version.txt文件可以看到。
    (2). 进入TongWeb管理控制台,点击左边树总结点”管理控制台”, 可看到具体版本号。

4. TongWeb启动占用的端口

TongWeb控制台占用 8001端口.
自带数据库hsql占用 1701端口
JNDI占用 1099 端口
JMS 占用 16010 端口
如果这些端口被其它进程占用,有可能TongWeb启动不起来。

5. 停了TongWeb自带hsql数据库

这个数据库基本没什么用处,只为演示demo, 为加快TongWeb启动速度和不占用1701端口,可停止此数据库。修改conf下的tongweb.xml

6. 停了TongWeb的JMS

应用如果没有用到JMS的话,可以停止JMS,这样可以加快TongWeb启动速度和不占用16010端口。修改conf/ejb下的teas.properties的这一行

7. 一台机器装多个TongWeb

对于多CPU大内存的机器可装多个TongWeb提高吞吐量。方法如下:
(1). 将装好的TongWeb拷到其它目录一份,并删除conf/deployment下的watched-url.xml。
(2). 停止自带的hsql。
(3). 停止JMS。
(4). 修改installed下tongweb-admin.ear包中WEB-INF/teas-web.xml中的8001端口为其它端口。
(5). 修改conf/naming下的jndi.properties中的1099端口为其它端口。

8. 启、停TongWeb问题

启动TongWeb最好使用 nohup ./tongserver & 命令,如果直接运行 ./tongserver, 当telnet断开后,TongWeb进程也会停止。TongWeb的bin目录下会生成nohup.out 日志文件,不限制大小,所以要定期清理。
TongWeb有时由于进程假死,用./tongserver stop不能正常停止。这时可以用
ps –ef|grep java查出TongWeb进程号,再用 kill -9 PID 完全停止TongWeb。

9. 常见TongWeb启动不起来的原因

(1). License过期,需要更新license.
(2). 找不到JDK, 需要检查环境变量 JAVA_HOME 或bin下的tongserver 脚本这一行有没有指定JDK。如
(3). 1099端口被占用, 需更改conf/naming下的jndi.properties中的1099端口。
(4). 磁盘空间满TongWeb启动不起来,需清理空间。
(5). 已经启动了TongWeb, 又多次启动TongWeb会不成功。

10. 确认1099端口没有被其它进程占用后,TongWeb仍启动不起来.

这个现象通常是TongWeb启动到1099端口后不再继续往下运行,或报连接TongWeb的Naming异常,这个原因有可能是TongWeb启动时找的本机IP地址不对,在实际环境中可能配置多个IP或虚拟IP,导致TongWeb启动时绑定的机器IP不对。修改方法:
(1). 修改conf/naming下的jndi.properties文件,将:
改为
(2). 修改bin下的启动脚本tongserver,41行加入红色内容:

改为

(3). 这样TongWeb绑定本机127.0.0.1的IP, 如果还不行,可换一个本机实际IP试试。

11. 配置数据源

如果使用TongWeb的数据源,需使用”管理控制台”->J2EE服务->资源服务->基于JCA的数据源, 不要在”控制台”->J2EE服务->”数据库服务” 中配连接池,因为这个连接池是老版本带下来的,效率上没有” 基于JCA的数据源”高。

12. 连接池连接不上数据库

使用TongWeb的”基于JCA的数据源”,点击”测试连接”报连不上数据库, 首先需要检查配置的DriverClass, ConnectionURL等是否正确,并注意查看TongWeb日志的异常信息。如果在配置正确的情况下还连不上数据库,通常是数据库的原因,这时可以写一个JDBC客户端小程序测试数据库连接是否正常。

13. TongWeb的主要调整参数

(1). 在 bin下的tongserver脚本中加入JVM的堆内存参数。
(2). 部署应用时在”增加连接”端口处设置的”最大线程数”, 这主要控制访问的最大并发数,通过管理控制台的” 端口连接状态”可监控到使用状态。
(3). 如果应用使用TongWeb的连接池,需注意连接池的连接数设置,通过”管理控制台”的”连接池信息”可以监控连接池够不够用。

14. 更新应用JSP不生效

如果应用更新JSP不生效,可以停止TongWeb并删除work目录和installed的temp目录下的所有文件,重启TongWeb后通常可解决问题。

15. TongWeb下使用cxf的问题

在TongWeb下使用cxf需要去掉TongWeb的WebService否则会有冲突,方法如下:
(1). 去掉tongweb的lib目录里的saaj.jar, wsdl4j.jar, jaxrpc.jar。
(2). 去掉conf/tongweb.xml里webservice这一行

(3). 进行如上修改后,点击”管理控制台”的”Web服务组件”会有异常,但这不影响其它正常使用。

16. 应用部署不成功

导致应用部署不成功的原因主要有以下几种,出现问题时更要注意看日志有没有异常信息。
(1). war包结构应注意检查WEB-INF目录下有没有合法的web.xml文件。
(2). 给应用分配的访问端口被其它进程占用,或有时在unix/linux下为应用分配80端口, 但80端口只能被root用户使用,这时需要以root用户启、停TongWeb。
(3). 应用通常会有一些servlet和filter的初始化操作,初始化过程中有异常也可能造成应用部署失败。

17. 修改TongWeb管理控制台密码

进入”管理控制台”->” 安全服务”->” 安全域设置与管理”->” TongWebAdminConsole” ->”1”->”admin”, 修改admin用户的密码。

18. 事务超时设置

如果应用用到EJB的容器事务或TongWeb的javax.transaction.UserTransaction全局事务接口,在管理控制台的”交易服务”中有一个事务超时设置,需要根据应用的需求设置,如果设为0 表示永不超时。

19. 应用部署很慢

如果已经运行很长时间,且反复部署过应用,会导致应用的类包反复加载占用内存,从而出现慢的情况,这时最好重启一下TongWeb再部署应用。

20. 应用不能访问

应用在使用过程中突然不能访问或者访问很慢,通常有三种情况。
(1). TongWeb的java进程突然退出,在TongWeb的日志中也看不到正常的TongWeb停止信息,出现这种情况通常是系统问题或由JAVA调C接口不当引起的,这时会在TongWeb的bin目录下生成hs或javacore的日志文件,需要收集此类文件分析问题。
(2). 内存溢出问题,在TongWeb中可以看到outofmemory 之类的信息,这种情况也会造成java进程宕掉或java进程假死,应用访问很慢。这时正常的./tongserver stop命令已经不能正常停止TongWeb, 需要通过kill -9 停止。如果加大JVM内存后仍出现内存溢出问题,说明应用有内存泄漏,需要查源码了。
(3). TongWeb的java进程还在,但应用不能访问。这时可能是某种资源耗尽或有死锁等情况,如果TongWeb是通过nohup ./tongserver & 启动,则用kill -3 PID命令打出TongWeb的堆栈信息,结果会输出在nohup.out中,从此文件中分析问题。

21. 清理nohup.out日志文件

在Unix下用nohup ./tongserver & 启动TongWeb, 会生成nohup.out日志文件,此文件不限大小,如果不想在此文件中生成日志,可修改conf下的tongweb.xml. 改为如下

22. 更换用户后启动不了TongWeb

在Unix下本来是用tongweb用户启、停TongWeb,当用root用户启、停过TongWeb后,再用tongweb用户不能启动TongWeb, 这是由于TongWeb文件权限、属主不对,需要用chown、chmod命令更改整个TongWeb目录。

猜你喜欢

转载自blog.csdn.net/lk1985021/article/details/88696887