为什么我的应用程序停止运行,而它有一个while(true)循环?

mwa*_*ngi 0 java multithreading

我有一个应用程序,旨在"永远运行".为了实现这一点,我的代码处于一个while(true)循环之下.

while(true){

   //My code is here 
   //What it does is that it calls some Url, 
   //gets xml, parses it and stores the values to a db.

}
Run Code Online (Sandbox Code Playgroud)

此应用程序作为Java应用程序运行,并在Redhat Linux上的jdk 5上运行.一两天后,我意识到日志的活动甚至是5天前,这意味着它在5天前停止工作.但是当我检查机器中的java进程时,此应用程序显示它正在运行.

问题:为什么会这样?

Dar*_*rov 5

一个可能的原因是在处理那些由代码消耗并且消耗的URL时会抛出异常,因此处理失败但应用程序继续运行.遗憾的是,您只显示了注释,而不是任何实际代码,所以这只是一个假设.