我有一个Web服务器和一些数据存储服务器。我需要的是这两个服务器之间的同步。Web服务器始终保持开启,我尽量让数据服务器保持开启。
它们都有MySQL数据库,并且我已经编写了脚本来将它们同步。我制作了一个Java程序,每10秒从Web服务器获取新的数据字段并将其存储在自己的数据库中。一个无限的Java线程会执行此操作。以下是执行此操作的代码片段:
该类的构造函数doCheck()从Web服务器以XML格式获取数据。服务器之间没有直接的mysql连接。
真正的问题是:但是,当此脚本运行24/7后,经过一定时间(例如几天),脚本(基本上是从Web服务器获取XML的线程)突然停止运行,并且同步完全断开。
可能性#1:互联网断开连接:我尝试拔掉网络电缆,它开始出现异常,但只要我重新连接电缆,它就可以正常工作。
可能性#2:代码中的任何异常等:我正在维护日志,但大多数时候它会突然停止而没有任何异常或错误。
可能性#3:手动取消线程:没有人触摸服务器:P,只有一个按钮可以取消它,因此这不可能发生。
为什么会发生这种情况?我只想让这个脚本无限次运行。
它们都有MySQL数据库,并且我已经编写了脚本来将它们同步。我制作了一个Java程序,每10秒从Web服务器获取新的数据字段并将其存储在自己的数据库中。一个无限的Java线程会执行此操作。以下是执行此操作的代码片段:
Timer timer;
Date current_date = new Date() ;
timer = new Timer();
timer.scheduleAtFixedRate(new doCheck(), current_date, 10 * 1000);
该类的构造函数doCheck()从Web服务器以XML格式获取数据。服务器之间没有直接的mysql连接。
真正的问题是:但是,当此脚本运行24/7后,经过一定时间(例如几天),脚本(基本上是从Web服务器获取XML的线程)突然停止运行,并且同步完全断开。
可能性#1:互联网断开连接:我尝试拔掉网络电缆,它开始出现异常,但只要我重新连接电缆,它就可以正常工作。
可能性#2:代码中的任何异常等:我正在维护日志,但大多数时候它会突然停止而没有任何异常或错误。
可能性#3:手动取消线程:没有人触摸服务器:P,只有一个按钮可以取消它,因此这不可能发生。
为什么会发生这种情况?我只想让这个脚本无限次运行。