504是随即出现的,可能几天就出现一次,也可能几周出现一次。
据我观察好像是java异常太多了,就会有504,每次都是重启来解决。这个项目功能主要是定时任务每天执行。Timer做的,任务执行中间会sleep几次再继续。重启就会导致timer不再继续执行了。
webjava异常

解决方案 »

  1.   


    应该不是服务器的问题。同一个tomcat下的其他应用是可以正常访问的。
    单独这一个504.
      

  2.   

    我看到java里timer的代码,while(true)里面的异常虽然是catch了但是不做任何处理.
    是不是如果有catch的异常做了处理,就会在堆栈里积累,最后把该应用的堆栈占满了?
      

  3.   

    tomact抛出504异常:
    检查得出是内存溢出,这种情况需要在tomact的catalina.bat中配置一下参数:
     set JAVA_OPTS=-server -Xms512m -Xmx1024m -XX:PermSize=64M -XX:MaxNewSize=256m -XX:MaxPermSize=512m -Djava.awt.headless=true
    是配置在rem ---------------------------------------与rem Guess CATALINA_HOME if not defined
    之间,这里可以设置Xms512m到1024,视情况而定。
    http://blog.csdn.net/jq_diy/article/details/4154132
    这个时候如果设置了代理IP也可能导致504的错误