Теоретически это возможно, но не в рамках стандартных способов транзакций Spring. Вам нужно создать свой собственный аспект, который дублирует стандартную функциональность пружины, расширяя его для вашего особого случая. Возможно, даже удастся расширить исходный аспект, который они используют.
(Возможно, вам придется определить пользовательскую аннотацию, поскольку вы не можете ни переопределить атрибут @Transactional, ни расширить перечисление Propagation.)
Вот несколько указателей:
Также вам следует почитать книгу AspectJ в действии , даже если вы просто хотите использовать Spring AOP, поскольку она дает очень хороший обзор.
Хорошей отправной точкой является загрузка исходников jar-аспекта jar , посмотрите, что они там делают, и предоставьте свое собственное расширение либо org.springframework.transaction.aspectj.AbstractTransactionAspect
, либо org.springframework.transaction.aspectj.AnnotationTransactionAspect
Подводя итог: я уверен, что это можно сделать, но это займет много работы. Хотя API-интерфейс Spring Transaction довольно хорош. Может быть, вы должны научиться жить с его ограничениями. Если нет: начать взлом (см. Выше)