Сохраните часть данных с помощью Spring Data, игнорируя текущую транзакцию - PullRequest
0 голосов
/ 17 января 2020

Мы используем Spring Batch, который управляет транзакциями для нас.

Некоторые действия требуют регистрации в БД (несколько INSERT) независимо от фиксации / отката транзакции.

Я вижу, что Oracle 11 не поддерживает точки сохранения драйвером JDB C: Jdb c проверка возможностей - выпуск точки сохранения

Поэтому я не могу просто объявить методы ведения журнала как @Transactional(propagation = Propagation.REQUIRES_NEW).

Есть ли способ запросить новое соединение у JpaTransactionManager, оставив немного в стороне существующее? Я имею в виду каким-то декларативным способом, совместимым с Spring AOP magi c?

Еще одна проблема - это тупики. Если потоки запрашивают более 1 соединения с БД на поток - условия гонки здесь.

Возможно, мы увидим java.sql.SQLTimeoutException. По крайней мере, это не будет постоянный тупик ...

ОБНОВЛЕНИЕ Ссылки на соответствующие темы:

...