Блокировки - в transactionManager , при доступе к разделяемым ресурсам. Тут же мы просто подменяем поток транзакцией, сводя задачу к предыдущей (о потоках).