在下面的示例中,我成功地落入了终点mandatory()
——尽管两个互斥的@Transactional
注解之一必须抛出异常:无论是Propagation.NEVER
还是Propagation.MANDATORY
. 但是代码执行成功。
怎么可能?!
我的一些(不是全部)服务受到影响,我想了解原因。
class NewService {
static transactional = true
boolean process() {
return never()
}
@Transactional(propagation = Propagation.NEVER)
boolean never() {
return mandatory()
}
@Transactional(propagation = Propagation.MANDATORY)
boolean mandatory() {
// successfully breakpointed here o_O
return true
}
}
圣杯 2.2.0