我正在开发一个 J2SE 应用程序,它可以同步存储在不同服务器上的四个数据库中的 184 辆汽车的 GPS 信息。我为每辆车创建一个线程并存储在 ScheduledThreadPool
ScheduledExecutorService executor = Executors.newScheduledThreadPool(20);
for (int i = 0; i < cars.size(); i++) {
Car vec_temp = cars.get(i);
SyncThread carThread = new SyncThread(q, vec_temp, reintentos);
long sleep = carThread.calculateVehicleDelay();
executor.scheduleAtFixedRate(hilo, 0, sleep, MILLISECONDS);
}
经纬度信息由 XML 数据中的 SocketServer 检索,因此在 SyncThread 类中,我实例化了一个 Socket 并询问信息并关闭该连接,并每 15 分钟进行一次......
该应用程序由于某种原因开始运行良好,有时会停止运行,没有异常......
jar 作为 Windows 服务运行。