Я использую spring @async (ThreadPoolTaskExecutor). Он создает несколько потоков. Основной поток вызывает future.get () для всех созданных многопоточностей, но future.get () не возвращает, если какая-то многопоточность откатывает соединение jdbc. Следовательно, приложение застряло.
Я записал некоторые операторы как раз в то время, когда поток запускается и незадолго до его окончания (то есть возвращает будущий объект). Я вижу только один поток, выводит сообщение о начале печати, затем в журналах сервера я вижу оператор отката jdbc. Эта ветка даже не напечатает сообщение, которое предполагается распечатать перед возвратом. поскольку future.get () является блокирующим вызовом. Заявка не продолжается.
Спасибо