Извините за плохое название, но объяснение будет очень простым.
У меня есть в Service on Spring этот метод:
private static boolean initialized = false;
@PostConstruct
public void onPostConstruct() {
synchronized (MyClass.class) {
if (!initialized) {
// do some init
startThread();
initialized = true
}
}
}
С точки зрения JavaSE, я на 100% уверен, что вызовом не может быть более одного потока, запущенного startThread (). Это как-то связано с загрузкой классов в Spring, потому что существует более одного потока. Я вижу это в логах.
Я не могу воспроизвести ошибку на моем компьютере, только на сервере, и у меня нет доступа, поэтому я спрашиваю здесь. Если кто-то может дать мне немного света! спасибо