一、程序搭建详情:
1.环境:Windows Server2008+MyEclipse10+Tomcat6+JDK6+Oracle11g
2.框架:Spring-2.0.8+Axis1+Hibernate3+C3P0-0.9.0.4
二、程序运行描述:
1.远程接口批量抽取数据,然后存库。
2.运行2-3个小时后,程序突然卡死,控制台停止log输出,导致每次抽取数据不全,还会导致后续的定时任务无法继续运行,每次出现这种情况需要手动重启tomcat才行。
三、考虑的情况及解决办法:
1.有可能内存溢出:这种情况包括JVM内存堆栈溢出或者Hibernate Session缓存溢出等情况,但细想这种情况出现的话,会报异常的,但是程序卡死后,控制台并没有异常输出,即使这样我也尝试过调大JVM的内存,但没有效果。
2.数据库连接失效:我用的是C3P0连接池管理数据库连接,如果程序拿到的连接失效,也会报异常,但控制台并无异常输出,所以这种情况也不太合理。
3.线程死锁:如果线程死锁,会导致程序卡死,我想有可能会出现这种情况,所有我在程序卡死的时候,用jstack调出了JVM的线程运行状况,但并未有死锁的线程。就这个问题折腾了好几天没有进展,所以贴出来希望大家给点建议,在此先谢过啦~
1.环境:Windows Server2008+MyEclipse10+Tomcat6+JDK6+Oracle11g
2.框架:Spring-2.0.8+Axis1+Hibernate3+C3P0-0.9.0.4
二、程序运行描述:
1.远程接口批量抽取数据,然后存库。
2.运行2-3个小时后,程序突然卡死,控制台停止log输出,导致每次抽取数据不全,还会导致后续的定时任务无法继续运行,每次出现这种情况需要手动重启tomcat才行。
三、考虑的情况及解决办法:
1.有可能内存溢出:这种情况包括JVM内存堆栈溢出或者Hibernate Session缓存溢出等情况,但细想这种情况出现的话,会报异常的,但是程序卡死后,控制台并没有异常输出,即使这样我也尝试过调大JVM的内存,但没有效果。
2.数据库连接失效:我用的是C3P0连接池管理数据库连接,如果程序拿到的连接失效,也会报异常,但控制台并无异常输出,所以这种情况也不太合理。
3.线程死锁:如果线程死锁,会导致程序卡死,我想有可能会出现这种情况,所有我在程序卡死的时候,用jstack调出了JVM的线程运行状况,但并未有死锁的线程。就这个问题折腾了好几天没有进展,所以贴出来希望大家给点建议,在此先谢过啦~
解决方案 »
- struts2在服务器端报错,请大家家帮帮忙
- 请教 如何根据日期和天数,返回日期
- 关于webservice客户端的,是自动生成还是自己写?请教
- 请教struts 1.2 上传文件问题
- 求兼职
- sitemesh问题,用过的进,急。。。。。。。。。。。。。。。。。。。
- 请问怎样解决VS2005调试Struts中的javascript时弹出Find Source对话框问题
- 请问:java中有选择目录的对话框吗?(不是选择文件的对话框)
- 怎样用Java做ASP组件(COM DLL)供ASP使用?
- Java 工程用nginx当图片服务器 ftp上传图片报java.net.UnknownHostException: 192.168.142.128 异常
- 一个简单的 JpaRepository.save 问题
- idea编译报错,但eclipse没有报错
程序卡死很容易,while(true); 这样程序就完蛋了,同样的告诉你程序死了,你能想像到是个这样的代码造成的吗?所以还是好好的研究代码的实现。