<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

事务隔离级别。仅适用于REQUIREDREQUIRES_NEW的传播设置。

timeout

-1

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

read-only

false

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

rollback-for

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

no-rollback-for

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