Я реализую многопоточность Spring Batch для некоторых ежедневных процессов.Читатель предмета, обработчик предмета и писатель предмета - все bean (singleton).Также я использую Hibernate и Spring данных JPA для доступа к БД.Для потока я использую threadpooltaskexecutor.
Поток будет зависать без причины, вероятно, я не знаю основную причину.Прямо сейчас в журнале hibernate застрянет в операторе select или insert и просто зависнет там навсегда.Я действительно не знаю причину.Для транзакции у меня есть required_new и read_committed для распространения и изоляции.Все остальное просто по умолчанию из Spring Boot.
Я обрабатываю 20 тыс. Jsons, размер может отличаться, но некоторые большие.Я не могу поделиться всем кодом, потому что я не знаю, в чем проблема.В основном в процессоре предметов у меня мало блоков синхронизации для обработки бизнес-логики.
На этот вопрос я просто хочу знать, каковы возможные причины?Потому что Java не дает никакой информации.