JAVA多个项目放置同一TOMCAT,其中一个项目有时能访问,有时无法访问

最近我们部门做了几个项目(项目A,项目B,项目C),我只参与其中的一两个项目(项目A,项目B)
在本地测试的时候,功能都正常,然后将多个项目部署到测试服务器的一个tomcat中运行(本地没有同时放置那么多项目一起运行过).
然后就出现问题了,各个项目的功能都正常,但是有一个项目有时候会出现无法访问的情况,时好时坏.

比如项目B的时候,会出现请求发出无响应,浏览器一直处于加载状态,发到项目B的请求全部无响应,但是访问项目A和项目C是正常的.ping服务器ip也是正常的,这种情况会是什么造成的呢?
操作系统是window Server,开发语言是JAVA,tomcat是7.0.42,几个项目使用的数据库都是同一个,MySQL5.6
使用的是C3P0连接数据库,框架只使用了Spring

我想知道这种情况可能是由什么原因造成的呢?该如何去排查问题.
有可能和数据库有关吗?
我总觉得我进入误区了,这个问题和一个Tomcat放置多个项目有关吗?

阅读 5k
3 个回答

我晕,是我们自己的问题.项目B中的log4j的配置错误
有个配置是将日志写入数据库的一个表,但是这地方配置的数据库是本地的数据库,导致该项目不能正确写表.出现错误

谢邀,没有这方面的经验。

可以以关键字tomcat 并发搜一下相关资料。

我们的项目一般是一个应用部署在一个tomcat下。

看下日志,这种情况和一个tomcat下是否部署多个项目可以断定没关系,建议:

  1. 查看日志,看是否有非预期的异常,catalina.out localhost,manager等日志,如果对tomcat配置无大的调整,这些日志都在tomcat logs目录下

  2. 如果日志没发现问题,可以将各个项目一个一个移除定位或拆开定位问题


猜测最大的可能mysql连接数和线程池问题,举个例子,线程池最小连接数和mysql最大连接数相差无几,线程池切换过程中抢占资源造成无法响应.
查看mysql最大连接数:

 show variables like 'max_connections';

c3p0连接数可以看配置文件.

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题