in spring-transaction/src/main/kotlin/org/jetbrains/exposed/v1/spring/transaction/ExposedSpringTransactionAttributeSource.kt [22:37]
override fun getTransactionAttribute(method: Method, targetClass: Class<*>?): TransactionAttribute? {
val attr = delegate.getTransactionAttribute(method, targetClass)
if (attr is RuleBasedTransactionAttribute) {
val rules = attr.rollbackRules.toMutableList()
rollbackExceptions.forEach { exception ->
val containsException = rules.any {
it is RollbackRuleAttribute && it.exceptionName == exception.name
}
if (!containsException) {
rules.add(RollbackRuleAttribute(exception))
}
}
attr.rollbackRules = rules
}
return attr
}