Я придумал следующий поток «ореол», чтобы он подключался к БД (в данном случае Redis), и в случае сбоя сервера подождал бы секунду и повторил попытку. В моем классе модульного тестирования метод выполняется, и вскоре после запуска нового потока сервер выйдет из строя. Но затем этот новый поток «гало» немедленно закрывается. Что я делаю не так?
// almost infinitely large number of sets, interrupted by server seg-fault
// you gotta try company methods
Thread halo = new Thread(new Runnable() {
@Override
public void run() {
int count = 0;
while (count < Integer.MAX_VALUE) {
if (JedisPoolFactory.getStatus()) {
try {
for (int i = 0; i < 10000; i++) {
master.set(String.format("key_%d", count), String.format("value_%d", count));
System.out.println(master.get(String.format("key_%d", count)));
count++;
}
} catch (JedisConnectionException igr) {
try {
Thread.sleep(1000);
} catch (InterruptedException ignore) {}
}
} else {
try {
Thread.sleep(1000);
} catch (InterruptedException ignrod) {}
}
}
}
});
halo.start();
try {
master.debug(DebugParams.SEGFAULT());
halo.join();
} catch (JedisConnectionException ignored) {
} catch (InterruptedException igr) {}
Synchronization
- person Shreyas Chavan   schedule 06.08.2015