【发布时间】:2015-04-24 07:17:04
【问题描述】:
我有如下 bean 条目
<bean id="inspectReqImpl"
class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean">
<property name="transactionManager" ref="transactionManager" />
<property name="transactionAttributes">
<props>
<prop key="activateRequest">PROPAGATION_REQUIRES_NEW</prop>
<prop key="*">PROPAGATION_REQUIRED</prop>
</props>
</property>
<property name="target">
<bean
class="com.test.InspectRequestImpl">
</bean>
</property>
</bean>
<bean id="inspectReqProcess"
class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean">
<property name="transactionManager" ref="transactionManager" />
<property name="transactionAttributes">
<props>
<prop key="*">PROPAGATION_REQUIRED</prop>
</props>
</property>
<property name="target">
<bean
class="com.test.InspectRequestProcessImpl">
</bean>
</property>
</bean>
当我调用 com.test.InspectRequestImpl.activateRequest() 方法时,Spring 将创建新事务
public void activateRequest()
{
Calling method of InspectRequestProcessImpl(ex: processRequest())
For InspectRequestProcessImpl we have defined all methods as PROPAGATION_REQUIRED
}
因此,如果任何异常(已检查或未检查)出现在方法 (InspectRequestProcessImpl.processRequest()) 中,其事务传播为 REQUIRED,那么对具有事务传播 REQUIRED_NEW 的 InspectRequestImpl.activateRequest() 有何影响
- 在这种情况下弹簧的表现如何。它会提交
InspectRequestImpl.activateRequest()还是回滚? - 它会只是回滚
InspectRequestProcessImpl.processRequest()的内容还是会引发异常?
【问题讨论】:
标签: java spring hibernate transactions spring-transactions