<tx:advice/> Settings

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

  • propagation setting 是`REQUIRED.`

  • 隔离级别是 DEFAULT.

  • The transaction is read-write.

  • 交易超时默认为底层交易系统的默认超时,如果没有支持超时,则为无。

  • 任何 RuntimeException 触发回滚,且任何已检查的 Exception 不会触发回滚。

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

Table 1. <tx:method/> settings
Attribute Required? Default Description

name

Yes

方法名称,将事务属性与这些名称关联起来。通配符 () character can be used to associate the same transaction attribute settings with a number of methods (for example, get, handle*on*Event 等)。

propagation

No

REQUIRED

Transaction propagation behavior.

isolation

No

DEFAULT

事务隔离级别。仅适用于`REQUIRED`或`REQUIRES_NEW`的传播设置。

timeout

No

-1

事务超时(秒)。仅适用于传播 REQUIREDREQUIRES_NEW

read-only

No

false

读写事务与只读事务。仅适用于 REQUIREDREQUIRES_NEW

rollback-for

No

触发回滚的 Exception 实例的逗号分隔列表。例如 com.foo.MyBusinessException,ServletException

no-rollback-for

No

不触发回滚的 Exception 实例的逗号分隔列表。例如 com.foo.MyBusinessException,ServletException