Я занимаюсь разработкой приложения J2SE, которое синхронизирует информацию GPS о 184 автомобилях, хранящихся в четырех базах данных на разных серверах. Для каждой машины я создаю тему и сохраняю ее в 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);
}
Информация о широте и долготе извлекается SocketServer в XML-данных, поэтому внутри класса SyncThread I создается экземпляр Socket, запрашивается информация и закрывается это соединение, и выполняется это каждые 15 минут ...
Приложение начинает работать отлично по какой-то причине, иногда перестает работать без исключений ...
Баночка работает как служба Windows.