Теория
Как организовать параллельный bulk insert и откуда ExecutorService получает задания?
Разбиение вставки на пакеты, явная передача задач исполнителю, ограничение очереди и параллелизма, обработка ошибок и ожидание завершения.
Читать ответ