我有以下声明:
<tx:advice id="txAdvice" transaction-manager="transactionManager">
<tx:attributes>
<tx:method name="*"/>
</tx:attributes>
</tx:advice>
我将切入模式中的所有方法包含在事务中。 但我想要自定义换行方法之一。 是否有针对tx:advice的“黑名单”的Spring.Net功能?
答案 0 :(得分:2)
我认为<tx:advice ... />
标记中没有“黑名单”功能。交易建议将始终应用于匹配方法。
我认为<tx:attributes ... />
列表的意图是指定要使用哪些事务属性(取决于方法的名称),不要排除方法包装在事务中。
如果您只对将自定义事务属性应用于特定方法感兴趣,则可以轻松完成此操作。例如,如果您要为read-only=true
设置false
而不是默认值VerySpecificMethod
:
<tx:advice id="txAdvice" transaction-manager="transactionManager">
<tx:attributes>
<tx:method name="VerySpecificMethod" read-only="true"/>
<tx:method name="*"/>
</tx:attributes>
</tx:advice>
第一个匹配的方法名称将指定要使用的事务属性,因此,VerySpecificMethod
将在只读事务中执行。其他方法将使用默认值false
。