1 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
3 <xsd:schema xmlns="http://www.springframework.org/schema/tx"
4 xmlns:xsd="http://www.w3.org/2001/XMLSchema"
5 xmlns:beans="http://www.springframework.org/schema/beans"
6 xmlns:tool="http://www.springframework.org/schema/tool"
7 targetNamespace="http://www.springframework.org/schema/tx"
8 elementFormDefault="qualified"
9 attributeFormDefault="unqualified">
11 <xsd:import namespace="http://www.springframework.org/schema/beans" schemaLocation="http://www.springframework.org/schema/beans/spring-beans-2.0.xsd"/>
12 <xsd:import namespace="http://www.springframework.org/schema/tool" schemaLocation="http://www.springframework.org/schema/tool/spring-tool-2.0.xsd"/>
15 <xsd:documentation><![CDATA[
16 Defines the elements used in the Spring Framework's declarative
17 transaction management infrastructure.
18 ]]></xsd:documentation>
21 <xsd:element name="advice">
24 <xsd:documentation source="java:org.springframework.transaction.interceptor.TransactionInterceptor"><![CDATA[
25 Defines the transactional semantics of the AOP advice that is to be
28 That is, this advice element is where the transactional semantics of
29 any number of methods are defined (where transactional semantics
30 includes the propagation settings, the isolation level, the rollback
32 ]]></xsd:documentation>
35 <tool:exports type="org.springframework.transaction.interceptor.TransactionInterceptor"/>
40 <xsd:extension base="beans:identifiedType">
42 <xsd:element name="attributes" type="attributesType" minOccurs="0" maxOccurs="1"/>
44 <xsd:attribute name="transaction-manager" type="xsd:string" default="transactionManager">
46 <xsd:documentation source="java:org.springframework.transaction.PlatformTransactionManager"><![CDATA[
47 The bean name of the PlatformTransactionManager that is to be used
48 to drive transactions.
50 This attribute is not required, and only needs to be specified
51 explicitly if the bean name of the desired PlatformTransactionManager
52 is not 'transactionManager'.
53 ]]></xsd:documentation>
55 <tool:annotation kind="ref">
56 <tool:expected-type type="org.springframework.transaction.PlatformTransactionManager"/>
66 <xsd:element name="annotation-driven">
69 <xsd:documentation source="java:org.springframework.transaction.annotation.AnnotationTransactionAttributeSource"><![CDATA[
70 Indicates that transaction configuration is defined by Java 5
71 annotations on bean classes, and that proxies are automatically
72 to be created for the relevant annotated beans.
74 The default annotation supported is Spring's @Transactional.
75 Transaction semantics such as propagation settings, the isolation level,
76 the rollback rules, etc are all defined in the annotation metadata.
77 ]]></xsd:documentation>
79 <xsd:attribute name="transaction-manager" type="xsd:string" default="transactionManager">
81 <xsd:documentation source="java:org.springframework.transaction.PlatformTransactionManager"><![CDATA[
82 The bean name of the PlatformTransactionManager that is to be used
83 to drive transactions.
85 This attribute is not required, and only needs to be specified
86 explicitly if the bean name of the desired PlatformTransactionManager
87 is not 'transactionManager'.
88 ]]></xsd:documentation>
90 <tool:annotation kind="ref">
91 <tool:expected-type type="org.springframework.transaction.PlatformTransactionManager"/>
96 <xsd:attribute name="proxy-target-class" type="xsd:boolean" default="false">
98 <xsd:documentation><![CDATA[
99 Are class-based (CGLIB) proxies to be created? By default, standard
100 Java interface-based proxies are created.
101 ]]></xsd:documentation>
104 <xsd:attribute name="order" type="xsd:int">
106 <xsd:documentation source="java:org.springframework.core.Ordered"><![CDATA[
107 Controls the ordering of the execution of the transaction advisor
108 when multiple advice executes at a specific joinpoint.
109 ]]></xsd:documentation>
115 <xsd:complexType name="attributesType">
117 <xsd:element name="method" minOccurs="1" maxOccurs="unbounded">
119 <xsd:attribute name="name" type="xsd:string" use="required">
121 <xsd:documentation><![CDATA[
122 The method name(s) with which the transaction attributes are to be
123 associated. The wildcard (*) character can be used to associate the
124 same transaction attribute settings with a number of methods; for
125 example, 'get*', 'handle*', '*Order', etc.
126 ]]></xsd:documentation>
129 <xsd:attribute name="propagation" default="REQUIRED">
131 <xsd:documentation source="java:org.springframework.transaction.annotation.Propagation"><![CDATA[
132 The transaction propagation behavior.
133 ]]></xsd:documentation>
136 <xsd:restriction base="xsd:string">
137 <xsd:enumeration value="REQUIRED"/>
138 <xsd:enumeration value="SUPPORTS"/>
139 <xsd:enumeration value="MANDATORY"/>
140 <xsd:enumeration value="REQUIRES_NEW"/>
141 <xsd:enumeration value="NOT_SUPPORTED"/>
142 <xsd:enumeration value="NEVER"/>
143 <xsd:enumeration value="NESTED"/>
147 <xsd:attribute name="isolation" default="DEFAULT">
149 <xsd:documentation source="java:org.springframework.transaction.annotation.Isolation"><![CDATA[
150 The transaction isolation level.
151 ]]></xsd:documentation>
154 <xsd:restriction base="xsd:string">
155 <xsd:enumeration value="DEFAULT"/>
156 <xsd:enumeration value="READ_UNCOMMITTED"/>
157 <xsd:enumeration value="READ_COMMITTED"/>
158 <xsd:enumeration value="REPEATABLE_READ"/>
159 <xsd:enumeration value="SERIALIZABLE"/>
163 <xsd:attribute name="timeout" type="xsd:integer" default="-1">
165 <xsd:documentation><![CDATA[
166 The transaction timeout value (in seconds).
167 ]]></xsd:documentation>
170 <xsd:attribute name="read-only" type="xsd:boolean" default="false">
172 <xsd:documentation><![CDATA[
173 Is this transaction read-only?
174 ]]></xsd:documentation>
177 <xsd:attribute name="rollback-for" type="xsd:string">
179 <xsd:documentation><![CDATA[
180 The Exception(s) that will trigger rollback; comma-delimited.
181 For example, 'com.foo.MyBusinessException,ServletException'
182 ]]></xsd:documentation>
185 <xsd:attribute name="no-rollback-for" type="xsd:string">
187 <xsd:documentation><![CDATA[
188 The Exception(s) that will *not* trigger rollback; comma-delimited.
189 For example, 'com.foo.MyBusinessException,ServletException'
190 ]]></xsd:documentation>