Согласно некоторым комментариям выше, похоже, что это может быть проблема с блокировкой базы данных. Судя по тому, что вы сказали, между контроллером и фильтром возникает задержка, вызывающая контроллер. Предположительно, именно здесь происходит фиксация транзакции.
Однако вы говорите, что код создает некоторые объекты в базе данных, но вы не говорите, выполняет ли код какие-либо обновления или выборки. Простое выполнение вставок обычно не создает проблемы с блокировкой для большинства баз данных, если только нет связанных обновлений или вариантов выбора (то есть выбор для обновления в Oracle).
Проверьте и посмотрите, есть ли какие-либо ресурсы, такие как таблица ключей или родительская запись, которые обновляются, которые могут вызывать проблему.
Также проверьте документацию JDBC. Большинство драйверов JDBC имеют уровни ведения журнала, которые должны позволять вам видеть операции, выполняемые с базой данных. Хотя это может привести к созданию большого журнала, если вы включите в него идентификатор потока, вы сможете увидеть, где возникают проблемы.