-1676279252.cache 9.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247
  1. <?xml version="1.0" encoding="UTF-8" standalone="no"?>
  2. <xsd:schema xmlns="http://www.springframework.org/schema/tx"
  3. xmlns:xsd="http://www.w3.org/2001/XMLSchema"
  4. xmlns:beans="http://www.springframework.org/schema/beans"
  5. xmlns:tool="http://www.springframework.org/schema/tool"
  6. targetNamespace="http://www.springframework.org/schema/tx"
  7. elementFormDefault="qualified"
  8. attributeFormDefault="unqualified">
  9. <xsd:import namespace="http://www.springframework.org/schema/beans" schemaLocation="http://www.springframework.org/schema/beans/spring-beans-4.3.xsd"/>
  10. <xsd:import namespace="http://www.springframework.org/schema/tool" schemaLocation="http://www.springframework.org/schema/tool/spring-tool-4.3.xsd"/>
  11. <xsd:annotation>
  12. <xsd:documentation><![CDATA[
  13. Defines the elements used in the Spring Framework's declarative
  14. transaction management infrastructure.
  15. ]]></xsd:documentation>
  16. </xsd:annotation>
  17. <xsd:element name="advice">
  18. <xsd:complexType>
  19. <xsd:annotation>
  20. <xsd:documentation source="java:org.springframework.transaction.interceptor.TransactionInterceptor"><![CDATA[
  21. Defines the transactional semantics of the AOP advice that is to be
  22. executed.
  23. That is, this advice element is where the transactional semantics of
  24. any number of methods are defined (where transactional semantics
  25. includes the propagation settings, the isolation level, the rollback
  26. rules, and suchlike).
  27. ]]></xsd:documentation>
  28. <xsd:appinfo>
  29. <tool:annotation>
  30. <tool:exports type="org.springframework.transaction.interceptor.TransactionInterceptor"/>
  31. </tool:annotation>
  32. </xsd:appinfo>
  33. </xsd:annotation>
  34. <xsd:complexContent>
  35. <xsd:extension base="beans:identifiedType">
  36. <xsd:sequence>
  37. <xsd:element name="attributes" type="attributesType" minOccurs="0" maxOccurs="1"/>
  38. </xsd:sequence>
  39. <xsd:attribute name="transaction-manager" type="xsd:string" default="transactionManager">
  40. <xsd:annotation>
  41. <xsd:documentation source="java:org.springframework.transaction.PlatformTransactionManager"><![CDATA[
  42. The bean name of the PlatformTransactionManager that is to be used
  43. to drive transactions.
  44. This attribute is not required, and only needs to be specified
  45. explicitly if the bean name of the desired PlatformTransactionManager
  46. is not 'transactionManager'.
  47. ]]></xsd:documentation>
  48. <xsd:appinfo>
  49. <tool:annotation kind="ref">
  50. <tool:expected-type type="org.springframework.transaction.PlatformTransactionManager"/>
  51. </tool:annotation>
  52. </xsd:appinfo>
  53. </xsd:annotation>
  54. </xsd:attribute>
  55. </xsd:extension>
  56. </xsd:complexContent>
  57. </xsd:complexType>
  58. </xsd:element>
  59. <xsd:element name="annotation-driven">
  60. <xsd:complexType>
  61. <xsd:annotation>
  62. <xsd:documentation source="java:org.springframework.transaction.annotation.AnnotationTransactionAttributeSource"><![CDATA[
  63. Indicates that transaction configuration is defined by Java 5
  64. annotations on bean classes, and that proxies are automatically
  65. to be created for the relevant annotated beans.
  66. The default annotations supported are Spring's @Transactional
  67. and EJB3's @TransactionAttribute (if available).
  68. Transaction semantics such as propagation settings, the isolation level,
  69. the rollback rules, etc are all defined in the annotation metadata.
  70. See org.springframework.transaction.annotation.EnableTransactionManagement Javadoc
  71. for information on code-based alternatives to this XML element.
  72. ]]></xsd:documentation>
  73. </xsd:annotation>
  74. <xsd:attribute name="transaction-manager" type="xsd:string" default="transactionManager">
  75. <xsd:annotation>
  76. <xsd:documentation source="java:org.springframework.transaction.PlatformTransactionManager"><![CDATA[
  77. The bean name of the PlatformTransactionManager that is to be used
  78. to drive transactions.
  79. This attribute is not required, and only needs to be specified
  80. explicitly if the bean name of the desired PlatformTransactionManager
  81. is not 'transactionManager'.
  82. ]]></xsd:documentation>
  83. <xsd:appinfo>
  84. <tool:annotation kind="ref">
  85. <tool:expected-type type="org.springframework.transaction.PlatformTransactionManager"/>
  86. </tool:annotation>
  87. </xsd:appinfo>
  88. </xsd:annotation>
  89. </xsd:attribute>
  90. <xsd:attribute name="mode" default="proxy">
  91. <xsd:annotation>
  92. <xsd:documentation><![CDATA[
  93. Should annotated beans be proxied using Spring's AOP framework,
  94. or should they rather be weaved with an AspectJ transaction aspect?
  95. AspectJ weaving requires spring-aspects.jar on the classpath,
  96. as well as load-time weaving (or compile-time weaving) enabled.
  97. Note: The weaving-based aspect requires the @Transactional annotation to be
  98. defined on the concrete class. Annotations in interfaces will not work
  99. in that case (they will rather only work with interface-based proxies)!
  100. ]]></xsd:documentation>
  101. </xsd:annotation>
  102. <xsd:simpleType>
  103. <xsd:restriction base="xsd:string">
  104. <xsd:enumeration value="proxy"/>
  105. <xsd:enumeration value="aspectj"/>
  106. </xsd:restriction>
  107. </xsd:simpleType>
  108. </xsd:attribute>
  109. <xsd:attribute name="proxy-target-class" type="xsd:boolean" default="false">
  110. <xsd:annotation>
  111. <xsd:documentation><![CDATA[
  112. Are class-based (CGLIB) proxies to be created? By default, standard
  113. Java interface-based proxies are created.
  114. Note: Class-based proxies require the @Transactional annotation to be
  115. defined on the concrete class. Annotations in interfaces will not work
  116. in that case (they will rather only work with interface-based proxies)!
  117. ]]></xsd:documentation>
  118. </xsd:annotation>
  119. </xsd:attribute>
  120. <xsd:attribute name="order" type="xsd:token">
  121. <xsd:annotation>
  122. <xsd:documentation source="java:org.springframework.core.Ordered"><![CDATA[
  123. Controls the ordering of the execution of the transaction advisor
  124. when multiple advice executes at a specific joinpoint.
  125. ]]></xsd:documentation>
  126. </xsd:annotation>
  127. </xsd:attribute>
  128. </xsd:complexType>
  129. </xsd:element>
  130. <xsd:element name="jta-transaction-manager">
  131. <xsd:annotation>
  132. <xsd:documentation><![CDATA[
  133. Creates a default JtaTransactionManager bean with name "transactionManager",
  134. matching the default bean name expected by the "annotation-driven" tag.
  135. Automatically detects WebLogic and WebSphere: creating a WebLogicJtaTransactionManager
  136. or WebSphereUowTransactionManager, respectively.
  137. For customization needs, consider defining a JtaTransactionManager bean as a regular
  138. Spring bean definition with name "transactionManager", replacing this element.
  139. ]]></xsd:documentation>
  140. <xsd:appinfo>
  141. <tool:annotation>
  142. <tool:exports type="org.springframework.transaction.jta.JtaTransactionManager"/>
  143. </tool:annotation>
  144. </xsd:appinfo>
  145. </xsd:annotation>
  146. </xsd:element>
  147. <xsd:complexType name="attributesType">
  148. <xsd:sequence>
  149. <xsd:element name="method" minOccurs="1" maxOccurs="unbounded">
  150. <xsd:complexType>
  151. <xsd:attribute name="name" type="xsd:string" use="required">
  152. <xsd:annotation>
  153. <xsd:documentation><![CDATA[
  154. The method name(s) with which the transaction attributes are to be
  155. associated. The wildcard (*) character can be used to associate the
  156. same transaction attribute settings with a number of methods; for
  157. example, 'get*', 'handle*', '*Order', 'on*Event', etc.
  158. ]]></xsd:documentation>
  159. </xsd:annotation>
  160. </xsd:attribute>
  161. <xsd:attribute name="propagation" default="REQUIRED">
  162. <xsd:annotation>
  163. <xsd:documentation source="java:org.springframework.transaction.annotation.Propagation"><![CDATA[
  164. The transaction propagation behavior.
  165. ]]></xsd:documentation>
  166. </xsd:annotation>
  167. <xsd:simpleType>
  168. <xsd:restriction base="xsd:string">
  169. <xsd:enumeration value="REQUIRED"/>
  170. <xsd:enumeration value="SUPPORTS"/>
  171. <xsd:enumeration value="MANDATORY"/>
  172. <xsd:enumeration value="REQUIRES_NEW"/>
  173. <xsd:enumeration value="NOT_SUPPORTED"/>
  174. <xsd:enumeration value="NEVER"/>
  175. <xsd:enumeration value="NESTED"/>
  176. </xsd:restriction>
  177. </xsd:simpleType>
  178. </xsd:attribute>
  179. <xsd:attribute name="isolation" default="DEFAULT">
  180. <xsd:annotation>
  181. <xsd:documentation source="java:org.springframework.transaction.annotation.Isolation"><![CDATA[
  182. The transaction isolation level.
  183. ]]></xsd:documentation>
  184. </xsd:annotation>
  185. <xsd:simpleType>
  186. <xsd:restriction base="xsd:string">
  187. <xsd:enumeration value="DEFAULT"/>
  188. <xsd:enumeration value="READ_UNCOMMITTED"/>
  189. <xsd:enumeration value="READ_COMMITTED"/>
  190. <xsd:enumeration value="REPEATABLE_READ"/>
  191. <xsd:enumeration value="SERIALIZABLE"/>
  192. </xsd:restriction>
  193. </xsd:simpleType>
  194. </xsd:attribute>
  195. <xsd:attribute name="timeout" type="xsd:int" default="-1">
  196. <xsd:annotation>
  197. <xsd:documentation><![CDATA[
  198. The transaction timeout value (in seconds).
  199. ]]></xsd:documentation>
  200. </xsd:annotation>
  201. </xsd:attribute>
  202. <xsd:attribute name="read-only" type="xsd:boolean" default="false">
  203. <xsd:annotation>
  204. <xsd:documentation><![CDATA[
  205. Is this transaction read-only?
  206. ]]></xsd:documentation>
  207. </xsd:annotation>
  208. </xsd:attribute>
  209. <xsd:attribute name="rollback-for" type="xsd:string">
  210. <xsd:annotation>
  211. <xsd:documentation><![CDATA[
  212. The Exception(s) that will trigger rollback; comma-delimited.
  213. For example, 'com.foo.MyBusinessException,ServletException'
  214. ]]></xsd:documentation>
  215. </xsd:annotation>
  216. </xsd:attribute>
  217. <xsd:attribute name="no-rollback-for" type="xsd:string">
  218. <xsd:annotation>
  219. <xsd:documentation><![CDATA[
  220. The Exception(s) that will *not* trigger rollback; comma-delimited.
  221. For example, 'com.foo.MyBusinessException,ServletException'
  222. ]]></xsd:documentation>
  223. </xsd:annotation>
  224. </xsd:attribute>
  225. </xsd:complexType>
  226. </xsd:element>
  227. </xsd:sequence>
  228. </xsd:complexType>
  229. </xsd:schema>