<tx:advice/> 设置
本节总结了您可以使用 <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 。 |