跳到主要内容
版本:6.2.3

<tx:advice/> 设置

DeepSeek V3 中英对照 tx:advice/ Settings <tx:advice/> Settings

本节总结了您可以使用 <tx:advice/> 标签指定的各种事务设置。默认的 <tx:advice/> 设置如下:

  • 传播设置 为 REQUIRED。

  • 隔离级别为 DEFAULT。

  • 事务为读写事务。

  • 事务超时默认为底层事务系统的默认超时时间,如果不支持超时则无超时设置。

  • 任何 RuntimeException 都会触发回滚,而任何检查型 Exception 则不会。

你可以更改这些默认设置。下表总结了嵌套在 <tx:advice/> 和 <tx:attributes/> 标签中的 <tx:method/> 标签的各种属性:

表 1. <tx:method/> 设置

属性是否必填?默认值描述
name是要与事务属性关联的方法名称。可以使用通配符(*)字符将相同的事务属性设置与多个方法关联(例如 get*、handle*、on*Event 等)。
propagation否REQUIRED事务传播行为。
isolation否DEFAULT事务隔离级别。仅适用于传播设置为 REQUIRED 或 REQUIRES_NEW 的情况。
timeout否-1事务超时时间(秒)。仅适用于传播设置为 REQUIRED 或 REQUIRES_NEW 的情况。
read-only否false读写事务与只读事务。仅适用于 REQUIRED 或 REQUIRES_NEW。
rollback-for否触发回滚的 Exception 实例的逗号分隔列表。例如 com.foo.MyBusinessException,ServletException。
no-rollback-for否不触发回滚的 Exception 实例的逗号分隔列表。例如 com.foo.MyBusinessException,ServletException。