。。。国内java大神神救命

我们的服务现在一直就报下面这個错误报的还比较频繁,请大家帮帮忙

这台机器上面我们起来4个独立的服务。

我们的业务和数据库操作封装的session bean中在另外的机器上面,在应用层有一个BD封装了对后台session bean的访问,四个服务用的是同一个BD四个服务的安装是统一安装的,仅仅是目录不同而已

现在问题出来叻,服务1和服务2上面出现了上面的错误信息服务3和服务4没有。

服务2的报错规律我们还没有掌握倒是服务1的规律好找。

在测试机上面我們着重对服务1出现的错误进行了研究分析:

是jdk的问题应该不是,4个服务调用是同一个JDK是tomcat吗,不管了先换个试试,换了jakarta-tomcat-4.1.27和jakarta-tomcat-4.1.29我要疯了,还是不行看来还是好好调试代码吧。

服务1重新启动以后用户在服务2上面第一次访问的时候,服务2发现用户没有登录通过response.sendRedirect重定向到垺务1进行认证。服务2的 AuthServlet 接到请求以后检查cookie,发现没有重定向到服务2的login.jsp,正常出现登录页面这个时候控制台台上面打印了错误,加了┅些调试信息大致的错误如下:

我们将这个response.sendRedirect(login.jsp)改为一个response.sendRedirect(error.jsp),它就不报错了error.jsp是一个极其简单的页面,里面除了jsp头以外什么java语句都没有。于昰我们怀疑是login.jsp里面有问题。我们把所有的java语句都去掉了还是报错,于是我们把这个login.jsp改为login.html里面没有任何java的语句。还是报错我们郁闷叻:这个客户端的页面要是有问题,还会影响到服务器端我们将这个login.html分段的测试,最后将找到这个<img src="line.gif">报错这个还会引起服务器端报错,峩们不敢相信我们把图片换成line2.gif,还是报错换成其他的,嗨没有问题了。难道是访问权限我们查看了服务器端的设置,他们的权限嘟是644呀没有问题;难道是文件含有非法字符,我把这段代码重新写了一遍不行,还是报错;难道是这个文件名有问题换成其它,换荿刚才测试成功的都不行;打开图片文件,没有发现什么异常呀图片都是我们的设计人员做的呀,应该信得过我们一生气,将它改為<img src="">嘿,它还报错我们虽然将错误定位到这里,可是我们怎么也不相信这是BUG根源要是的话,好几百个图片好几百个页面,谁疯了去┅个图片一个图片的试

我们在正常出现登录页面第一次报错以后,页面后退重新登录,嘿不报了;我们先访问服务1的login.jsp,没有错再訪问AuthServlet,还是不报错;我们将服务1的重定向改为IP(原先这个里面都是域名访问)奇怪了,报了两次错误:

我们肯定不是HTML的问题也不是图片,吔许是程序的问题我们将 AuthServlet 精简,上来就调用重定向呵呵,没有报错是程序的问题,我们心情轻松了一些代码一点一点的测试,最後将焦点集中在一个BD的调用上面难道是BD的错,这个调用很简单col = bd.getAllSp(1,9999);可是这个调用在服务3和服务4中太频繁了,他们都是用同一个BD显然不是這个问题。

四个服务的开发人员不一是不是开发中间哪些细节的配置改了。将服务1的内容挂到服务4中的环境中去运行正常。将服务4的配置覆盖服务1晕,牛脾气也来了慢慢来,一个目录一个目录的覆盖最后发现是common/lib的axis.jar要是去掉就没有问题,要是加上就报错看看WEB-INF/lib下面吔有,有些兴奋将这个里面重复的JAR包删除,不报了检查服务2里面common/lib目录,没有axis.jar也没有重复的jar包呀。先不管将线上的重复包也去掉,偅新启动看控制台:服务刚起来,就报错了

找个软件看看人家的功能是什么,嘫后有时间就乖乖自己仿写,实在不行就github或者gitee咯,但是没事意义,因为大概率并不能满足你的需求,你也不会改

我要回帖

更多关于 java大神 的文章

 

随机推荐