【发布时间】:2013-03-04 07:39:43
【问题描述】:
我“继承”了一个旧的 Spring 应用程序。目前它使用的是 Spring 2.5(只升级了一次),并希望进一步升级到 Spring 3。
我了解大部分应用程序配置。只有一个部分我“不是 100%”。我可以大致猜到这可能意味着什么,但我需要绝对确定,因此发布这个问题:
这里是配置sn-p(取决于此处未显示的注释驱动的事务管理器):
<aop:config>
<aop:advisor pointcut="execution(* *..ProductManager.*(..))"
advice-ref="txAdvice" />
</aop:config>
<tx:advice id="txAdvice">
<tx:attributes>
<tx:method name="save*" />
<tx:method name="*" read-only="false" />
</tx:attributes>
</tx:advice>
我的两个具体问题是:
- “execution(* ..ProductManager.(..))”是什么意思(我理解切入点用语)
- 在建议的属性部分,我们说将事务应用于所有与保存*相关的方法,并且对于所有内容,只读都是错误的。谁能解释为什么该设置有意义?对于所有具有事务支持的方法(即仅保存 * 方法),它是否是附加且有效的说法,我也希望这些方法不是只读事务。或者它是否对包容性交易过滤器(在切入点中定义)的每种方法应用了不同的东西(即某种形式的交易支持)。
感谢您的澄清。拜托,没有一般的答案 - 我需要一个具体的解释。
【问题讨论】:
标签: java spring spring-transactions pointcut