jboss-as-datasources_1_0.xsd 39 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!--
  3. ~ JBoss, Home of Professional Open Source.
  4. ~ Copyright 2011, Red Hat, Inc., and individual contributors
  5. ~ as indicated by the @author tags. See the copyright.txt file in the
  6. ~ distribution for a full listing of individual contributors.
  7. ~
  8. ~ This is free software; you can redistribute it and/or modify it
  9. ~ under the terms of the GNU Lesser General Public License as
  10. ~ published by the Free Software Foundation; either version 2.1 of
  11. ~ the License, or (at your option) any later version.
  12. ~
  13. ~ This software is distributed in the hope that it will be useful,
  14. ~ but WITHOUT ANY WARRANTY; without even the implied warranty of
  15. ~ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
  16. ~ Lesser General Public License for more details.
  17. ~
  18. ~ You should have received a copy of the GNU Lesser General Public
  19. ~ License along with this software; if not, write to the Free
  20. ~ Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
  21. ~ 02110-1301 USA, or see the FSF site: http://www.fsf.org.
  22. -->
  23. <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
  24. targetNamespace="urn:jboss:domain:datasources:1.0" xmlns="urn:jboss:domain:datasources:1.0"
  25. elementFormDefault="qualified" attributeFormDefault="unqualified">
  26. <xs:element name="subsystem" type="subsystemType"/>
  27. <xs:complexType name="subsystemType">
  28. <xs:all>
  29. <xs:element name="datasources" type="datasourcesType" minOccurs="1" maxOccurs="1"/>
  30. </xs:all>
  31. </xs:complexType>
  32. <xs:complexType name="datasourcesType">
  33. <xs:sequence>
  34. <xs:choice minOccurs="0" maxOccurs="unbounded">
  35. <xs:element name="datasource" type="datasourceType">
  36. <xs:annotation>
  37. <xs:documentation>
  38. <![CDATA[[
  39. Specifies a non-XA datasource, using local transactions
  40. ]]>
  41. </xs:documentation>
  42. </xs:annotation>
  43. </xs:element>
  44. <xs:element name="xa-datasource" type="xa-datasourceType">
  45. <xs:annotation>
  46. <xs:documentation>
  47. <![CDATA[[
  48. Specifies a XA datasource
  49. ]]>
  50. </xs:documentation>
  51. </xs:annotation>
  52. </xs:element>
  53. </xs:choice>
  54. <xs:element name="drivers" type="driversType" maxOccurs="1" minOccurs="0"></xs:element>
  55. </xs:sequence>
  56. </xs:complexType>
  57. <xs:complexType name="datasourceType" mixed="false">
  58. <xs:sequence>
  59. <xs:element name="connection-url" type="xs:token">
  60. <xs:annotation>
  61. <xs:documentation>
  62. <![CDATA[[
  63. The JDBC driver connection URL Ex: <connection-url>jdbc:hsqldb:hsql://localhost:1701</connection-url>
  64. ]]>
  65. </xs:documentation>
  66. </xs:annotation>
  67. </xs:element>
  68. <xs:element name="driver-class" type="xs:token" maxOccurs="1" minOccurs="0">
  69. <xs:annotation>
  70. <xs:documentation>
  71. <![CDATA[[
  72. The fully qualifed name of the JDBC driver class Ex: <driver-class>org.hsqldb.jdbcDriver</driver-class>
  73. ]]>
  74. </xs:documentation>
  75. </xs:annotation>
  76. </xs:element>
  77. <xs:element name="datasource-class" type="xs:token" maxOccurs="1" minOccurs="0">
  78. <xs:annotation>
  79. <xs:documentation>
  80. <![CDATA[[
  81. The fully qualifed name of the JDBC datasource class Ex: <datasource-class>org.h2.jdbcx.JdbcDataSource</datasource-class>
  82. ]]>
  83. </xs:documentation>
  84. </xs:annotation>
  85. </xs:element>
  86. <xs:element name="driver" type="xs:token" minOccurs="0">
  87. <xs:annotation>
  88. <xs:documentation>
  89. <![CDATA[[
  90. An unique reference to the classloader module which contains the JDBC driver
  91. The accepted format is driverName#majorVersion.minorVersion
  92. ]]>
  93. </xs:documentation>
  94. </xs:annotation>
  95. </xs:element>
  96. <xs:element name="connection-property" type="connection-propertyType" minOccurs="0" maxOccurs="unbounded">
  97. <xs:annotation>
  98. <xs:documentation>
  99. <![CDATA[[
  100. The connection-property element allows you to pass in arbitrary connection
  101. properties to the Driver.connect(url, props) method. Each connection-property
  102. specifies a string name/value pair with the property name coming from the
  103. name attribute and the value coming from the element content. Ex:
  104. <connection-property name="char.encoding">UTF-8</connection-property>
  105. ]]>
  106. </xs:documentation>
  107. </xs:annotation>
  108. </xs:element>
  109. <xs:element name="new-connection-sql" type="xs:string" minOccurs="0">
  110. <xs:annotation>
  111. <xs:documentation>
  112. <![CDATA[[
  113. Specify an SQL statement to execute whenever a connection is added
  114. to the connection pool.
  115. ]]>
  116. </xs:documentation>
  117. </xs:annotation>
  118. </xs:element>
  119. <xs:element name="transaction-isolation" type="transaction-isolationType" minOccurs="0">
  120. <xs:annotation>
  121. <xs:documentation>
  122. <![CDATA[[
  123. Set java.sql.Connection transaction isolation level to use. The constants
  124. defined by transaction-isolation-values are the possible transaction isolation
  125. levels and include: TRANSACTION_READ_UNCOMMITTED TRANSACTION_READ_COMMITTED
  126. TRANSACTION_REPEATABLE_READ TRANSACTION_SERIALIZABLE TRANSACTION_NONE
  127. ]]>
  128. </xs:documentation>
  129. </xs:annotation>
  130. </xs:element>
  131. <xs:element name="url-delimiter" type="xs:token" minOccurs="0">
  132. <xs:annotation>
  133. <xs:documentation>
  134. <![CDATA[[
  135. Specifies the delimeter for URLs in connection-url for HA datasources
  136. ]]>
  137. </xs:documentation>
  138. </xs:annotation>
  139. </xs:element>
  140. <xs:element name="url-selector-strategy-class-name" type="xs:token" minOccurs="0">
  141. <xs:annotation>
  142. <xs:documentation>
  143. <![CDATA[[
  144. A class that implements org.jboss.jca.adapters.jdbc.URLSelectorStrategy
  145. ]]>
  146. </xs:documentation>
  147. </xs:annotation>
  148. </xs:element>
  149. <xs:element name="pool" type="poolType" minOccurs="0" maxOccurs="1">
  150. <xs:annotation>
  151. <xs:documentation>
  152. <![CDATA[[
  153. Specifies the pooling settings
  154. ]]>
  155. </xs:documentation>
  156. </xs:annotation>
  157. </xs:element>
  158. <xs:element name="security" type="dsSecurityType" minOccurs="0">
  159. <xs:annotation>
  160. <xs:documentation>
  161. <![CDATA[[
  162. Specifies the security settings
  163. ]]>
  164. </xs:documentation>
  165. </xs:annotation>
  166. </xs:element>
  167. <xs:element name="validation" type="validationType" minOccurs="0">
  168. <xs:annotation>
  169. <xs:documentation>
  170. <![CDATA[[
  171. Specifies the validation settings
  172. ]]>
  173. </xs:documentation>
  174. </xs:annotation>
  175. </xs:element>
  176. <xs:element name="timeout" type="timeoutType" minOccurs="0">
  177. <xs:annotation>
  178. <xs:documentation>
  179. <![CDATA[[
  180. Specifies the time out settings
  181. ]]>
  182. </xs:documentation>
  183. </xs:annotation>
  184. </xs:element>
  185. <xs:element name="statement" type="statementType" minOccurs="0">
  186. <xs:annotation>
  187. <xs:documentation>
  188. <![CDATA[[
  189. Specifies the statement settings
  190. ]]>
  191. </xs:documentation>
  192. </xs:annotation>
  193. </xs:element>
  194. </xs:sequence>
  195. <xs:attribute name="jta" type="xs:boolean" default="true" use="optional">
  196. <xs:annotation>
  197. <xs:documentation>
  198. <![CDATA[[
  199. Enable JTA integration
  200. ]]>
  201. </xs:documentation>
  202. </xs:annotation>
  203. </xs:attribute>
  204. <xs:attributeGroup ref="common-datasourceAttributes" />
  205. </xs:complexType>
  206. <xs:complexType name="xa-datasourceType">
  207. <xs:sequence>
  208. <xs:element name="xa-datasource-property" type="xa-datasource-propertyType" minOccurs="1" maxOccurs="unbounded">
  209. <xs:annotation>
  210. <xs:documentation>
  211. <![CDATA[[
  212. Specifies a property to assign to the XADataSource implementation class.
  213. Each property is identified by the name attribute and the property value
  214. is given by the xa-datasource-property element content. The property is mapped
  215. onto the XADataSource implementation by looking for a JavaBeans style getter
  216. method for the property name. If found, the value of the property is set
  217. using the JavaBeans setter with the element text translated to the true property
  218. type using the java.beans.PropertyEditor for the type. Ex:
  219. <xa-datasource-property name="IfxWAITTIME">10</xa-datasource-property>
  220. <xa-datasource-property name="IfxIFXHOST">myhost.mydomain.com</xa-datasource-property>
  221. <xa-datasource-property name="PortNumber">1557</xa-datasource-property>
  222. <xa-datasource-property name="DatabaseName">mydb</xa-datasource-property>
  223. <xa-datasource-property name="ServerName">myserver</xa-datasource-property>
  224. ]]>
  225. </xs:documentation>
  226. </xs:annotation>
  227. </xs:element>
  228. <xs:element name="xa-datasource-class" type="xs:token" maxOccurs="1" minOccurs="0">
  229. <xs:annotation>
  230. <xs:documentation>
  231. <![CDATA[[
  232. The fully qualifed name of the javax.sql.XADataSource implementation
  233. class. Ex: <xa-datasource-class>oracle.jdbc.xa.client.OracleXADataSource</xa-datasource-class>
  234. ]]>
  235. </xs:documentation>
  236. </xs:annotation>
  237. </xs:element>
  238. <xs:element name="driver" type="xs:token" minOccurs="0">
  239. <xs:annotation>
  240. <xs:documentation>
  241. <![CDATA[[
  242. An unique reference to the classloader module which contains the JDBC driver
  243. The accepted format is driverName#majorVersion.minorVersion
  244. ]]>
  245. </xs:documentation>
  246. </xs:annotation>
  247. </xs:element>
  248. <xs:element name="url-delimiter" type="xs:token" minOccurs="0">
  249. <xs:annotation>
  250. <xs:documentation>
  251. <![CDATA[[
  252. Specifies the delimeter for URLs in the connection url for HA datasources
  253. ]]>
  254. </xs:documentation>
  255. </xs:annotation>
  256. </xs:element>
  257. <xs:element name="url-selector-strategy-class-name" type="xs:token" minOccurs="0">
  258. <xs:annotation>
  259. <xs:documentation>
  260. <![CDATA[[
  261. A class that implements org.jboss.jca.adapters.jdbc.URLSelectorStrategy
  262. ]]>
  263. </xs:documentation>
  264. </xs:annotation>
  265. </xs:element>
  266. <xs:element name="new-connection-sql" type="xs:string" minOccurs="0">
  267. <xs:annotation>
  268. <xs:documentation>
  269. <![CDATA[[
  270. Specifies an SQL statement to execute whenever a connection is added
  271. to the connection pool.
  272. ]]>
  273. </xs:documentation>
  274. </xs:annotation>
  275. </xs:element>
  276. <xs:element name="transaction-isolation" type="transaction-isolationType" minOccurs="0">
  277. <xs:annotation>
  278. <xs:documentation>
  279. <![CDATA[[
  280. Set java.sql.Connection transaction isolation level to use. The constants
  281. defined by transaction-isolation-values are the possible transaction isolation
  282. levels and include: TRANSACTION_READ_UNCOMMITTED TRANSACTION_READ_COMMITTED
  283. TRANSACTION_REPEATABLE_READ TRANSACTION_SERIALIZABLE TRANSACTION_NONE
  284. ]]>
  285. </xs:documentation>
  286. </xs:annotation>
  287. </xs:element>
  288. <xs:element name="xa-pool" type="xa-poolType" minOccurs="0" maxOccurs="1">
  289. <xs:annotation>
  290. <xs:documentation>
  291. <![CDATA[[
  292. Specifies the pooling settings
  293. ]]>
  294. </xs:documentation>
  295. </xs:annotation>
  296. </xs:element>
  297. <xs:element name="security" type="dsSecurityType" minOccurs="0">
  298. <xs:annotation>
  299. <xs:documentation>
  300. <![CDATA[[
  301. Specifies the security settings
  302. ]]>
  303. </xs:documentation>
  304. </xs:annotation>
  305. </xs:element>
  306. <xs:element name="validation" type="validationType" minOccurs="0">
  307. <xs:annotation>
  308. <xs:documentation>
  309. <![CDATA[[
  310. Specifies the validation settings
  311. ]]>
  312. </xs:documentation>
  313. </xs:annotation>
  314. </xs:element>
  315. <xs:element name="timeout" type="timeoutType" minOccurs="0">
  316. <xs:annotation>
  317. <xs:documentation>
  318. <![CDATA[[
  319. Specifies the time out settings
  320. ]]>
  321. </xs:documentation>
  322. </xs:annotation>
  323. </xs:element>
  324. <xs:element name="statement" type="statementType" minOccurs="0">
  325. <xs:annotation>
  326. <xs:documentation>
  327. <![CDATA[[
  328. Specifies the statement settings
  329. ]]>
  330. </xs:documentation>
  331. </xs:annotation>
  332. </xs:element>
  333. <xs:element name="recovery" type="recoverType" minOccurs="0" maxOccurs="1"></xs:element>
  334. </xs:sequence>
  335. <xs:attributeGroup ref="common-datasourceAttributes" />
  336. </xs:complexType>
  337. <xs:complexType name="boolean-presenceType" />
  338. <xs:attributeGroup name="common-datasourceAttributes">
  339. <xs:attribute name="jndi-name" type="xs:token" use="required">
  340. <xs:annotation>
  341. <xs:documentation>
  342. <![CDATA[[
  343. Specifies the JNDI name for the datasource
  344. ]]>
  345. </xs:documentation>
  346. </xs:annotation>
  347. </xs:attribute>
  348. <xs:attribute name="pool-name" type="xs:token" use="required">
  349. <xs:annotation>
  350. <xs:documentation>
  351. <![CDATA[[
  352. Specifies the pool name for the datasource used for management
  353. ]]>
  354. </xs:documentation>
  355. </xs:annotation>
  356. </xs:attribute>
  357. <xs:attribute name="enabled" type="xs:boolean" default="true" form="unqualified" use="optional">
  358. <xs:annotation>
  359. <xs:documentation>
  360. <![CDATA[[
  361. Specifies if the datasource should be enabled
  362. ]]>
  363. </xs:documentation>
  364. </xs:annotation>
  365. </xs:attribute>
  366. <xs:attribute default="true" name="use-java-context" type="xs:boolean">
  367. <xs:annotation>
  368. <xs:documentation>
  369. <![CDATA[[
  370. Setting this to false will bind the DataSource into global JNDI
  371. Ex: use-java-context="true"
  372. ]]>
  373. </xs:documentation>
  374. </xs:annotation>
  375. </xs:attribute>
  376. <xs:attribute default="false" name="spy" type="xs:boolean">
  377. <xs:annotation>
  378. <xs:documentation>
  379. <![CDATA[[
  380. Enable spy functionality on the JDBC layer - e.g. log all JDBC traffic to the datasource.
  381. Remember to enable the logging category (org.jboss.jdbc) too.
  382. Ex: spy="true"
  383. ]]>
  384. </xs:documentation>
  385. </xs:annotation>
  386. </xs:attribute>
  387. <xs:attribute default="true" name="use-ccm" type="xs:boolean">
  388. <xs:annotation>
  389. <xs:documentation>
  390. <![CDATA[[
  391. Enable the use of a cached connection manager
  392. Ex: use-ccm="true"
  393. ]]>
  394. </xs:documentation>
  395. </xs:annotation>
  396. </xs:attribute>
  397. </xs:attributeGroup>
  398. <xs:simpleType name="transaction-isolationType">
  399. <xs:annotation>
  400. <xs:documentation>
  401. <![CDATA[[
  402. Define constants used as the possible transaction isolation levels in transaction-isolation
  403. type. Include: TRANSACTION_READ_UNCOMMITTED, TRANSACTION_READ_COMMITTED, TRANSACTION_REPEATABLE_READ,
  404. TRANSACTION_SERIALIZABLE, TRANSACTION_NONE
  405. ]]>
  406. </xs:documentation>
  407. </xs:annotation>
  408. <xs:restriction base="xs:token">
  409. <xs:enumeration value="TRANSACTION_READ_UNCOMMITTED" />
  410. <xs:enumeration value="TRANSACTION_READ_COMMITTED" />
  411. <xs:enumeration value="TRANSACTION_REPEATABLE_READ" />
  412. <xs:enumeration value="TRANSACTION_SERIALIZABLE" />
  413. <xs:enumeration value="TRANSACTION_NONE" />
  414. </xs:restriction>
  415. </xs:simpleType>
  416. <xs:complexType name="xa-datasource-propertyType" mixed="true">
  417. <xs:attribute name="name" use="required" type="xs:token" />
  418. </xs:complexType>
  419. <xs:complexType name="connection-propertyType" mixed="true">
  420. <xs:attribute name="name" use="required" type="xs:token" />
  421. </xs:complexType>
  422. <xs:complexType name="validationType">
  423. <xs:sequence>
  424. <xs:element name="valid-connection-checker" type="extensionType" minOccurs="0">
  425. <xs:annotation>
  426. <xs:documentation>
  427. <![CDATA[[
  428. An org.jboss.jca.adapters.jdbc.ValidConnectionChecker that provides
  429. a SQLException isValidConnection(Connection e) method to validate is a connection
  430. is valid. An exception means the connection is destroyed. This overrides
  431. the check-valid-connection-sql when present. Ex:
  432. <valid-connection-checker class-name="org.jboss.jca.adapters.jdbc.vendor.OracleValidConnectionChecker"/>
  433. ]]>
  434. </xs:documentation>
  435. </xs:annotation>
  436. </xs:element>
  437. <xs:element name="check-valid-connection-sql" type="xs:string" minOccurs="0">
  438. <xs:annotation>
  439. <xs:documentation>
  440. <![CDATA[[
  441. Specify an SQL statement to check validity of a pool connection. This
  442. may be called when managed connection is taken from pool for use.
  443. ]]>
  444. </xs:documentation>
  445. </xs:annotation>
  446. </xs:element>
  447. <xs:element name="validate-on-match" type="xs:boolean" minOccurs="0">
  448. <xs:annotation>
  449. <xs:documentation>
  450. <![CDATA[[
  451. The validate-on-match element indicates whether or not connection
  452. level validation should be done when a connection factory attempts to match
  453. a managed connection for a given set. This is typically exclusive to the
  454. use of background validation
  455. ]]>
  456. </xs:documentation>
  457. </xs:annotation>
  458. </xs:element>
  459. <xs:element name="background-validation" type="xs:boolean" minOccurs="0">
  460. <xs:annotation>
  461. <xs:documentation>
  462. <![CDATA[[
  463. An element to specify that connections should be validated on a background
  464. thread versus being validated prior to use
  465. ]]>
  466. </xs:documentation>
  467. </xs:annotation>
  468. </xs:element>
  469. <xs:element name="background-validation-millis" type="xs:nonNegativeInteger" minOccurs="0">
  470. <xs:annotation>
  471. <xs:documentation>
  472. <![CDATA[[
  473. The background-validation-millis element specifies the amount of
  474. time, in millis, that background validation will run.
  475. ]]>
  476. </xs:documentation>
  477. </xs:annotation>
  478. </xs:element>
  479. <xs:element name="use-fast-fail" type="xs:boolean" minOccurs="0">
  480. <xs:annotation>
  481. <xs:documentation>
  482. <![CDATA[[
  483. Whether fail a connection allocation on the first connection if it
  484. is invalid (true) or keep trying until the pool is exhausted of all potential
  485. connections (false) default false. e.g. <use-fast-fail>true</use-fast-fail>
  486. ]]>
  487. </xs:documentation>
  488. </xs:annotation>
  489. </xs:element>
  490. <xs:element minOccurs="0" name="stale-connection-checker" type="extensionType">
  491. <xs:annotation>
  492. <xs:documentation>
  493. <![CDATA[[
  494. An org.jboss.jca.adapters.jdbc.StaleConnectionChecker that provides
  495. a boolean isStaleConnection(SQLException e) method which if it it returns
  496. true will wrap the exception in an org.jboss.jca.adapters.jdbc.StaleConnectionException
  497. which is a subclass of SQLException. Ex:
  498. <stale-connection-checker class-name="org.jboss.jca.adapters.jdbc.vendor.OracleStaleConnectionChecker"/>
  499. ]]>
  500. </xs:documentation>
  501. </xs:annotation>
  502. </xs:element>
  503. <xs:element name="exception-sorter" type="extensionType" minOccurs="0">
  504. <xs:annotation>
  505. <xs:documentation>
  506. <![CDATA[[
  507. An org.jboss.jca.adapters.jdbc.ExceptionSorter that provides a
  508. boolean isExceptionFatal(SQLException e) method to validate is an exception
  509. should be broadcast to all javax.resource.spi.ConnectionEventListener as
  510. a connectionErrorOccurred message. Ex:
  511. <exception-sorter class-name="org.jboss.jca.adapters.jdbc.vendor.OracleExceptionSorter"/>
  512. ]]>
  513. </xs:documentation>
  514. </xs:annotation>
  515. </xs:element>
  516. </xs:sequence>
  517. </xs:complexType>
  518. <xs:complexType name="timeoutType">
  519. <xs:sequence>
  520. <xs:element name="blocking-timeout-millis" type="xs:nonNegativeInteger" minOccurs="0">
  521. <xs:annotation>
  522. <xs:documentation>
  523. <![CDATA[[
  524. The blocking-timeout-millis element indicates the maximum time in
  525. milliseconds to block while waiting for a connection before throwing an exception.
  526. Note that this blocks only while waiting for a permit for a connection, and
  527. will never throw an exception if creating a new connection takes an inordinately
  528. long time. The default is 30000 (30 seconds).
  529. ]]>
  530. </xs:documentation>
  531. </xs:annotation>
  532. </xs:element>
  533. <xs:element name="idle-timeout-minutes" type="xs:nonNegativeInteger" minOccurs="0">
  534. <xs:annotation>
  535. <xs:documentation>
  536. <![CDATA[[
  537. The idle-timeout-minutes elements indicates the maximum time in minutes
  538. a connection may be idle before being closed. The actual maximum time depends
  539. also on the IdleRemover scan time, which is 1/2 the smallest idle-timeout-minutes
  540. of any pool.
  541. ]]>
  542. </xs:documentation>
  543. </xs:annotation>
  544. </xs:element>
  545. <xs:element name="set-tx-query-timeout" type="boolean-presenceType" minOccurs="0">
  546. <xs:annotation>
  547. <xs:documentation>
  548. <![CDATA[[
  549. Whether to set the query timeout based on the time remaining until
  550. transaction timeout, any configured query timeout will be used if there is
  551. no transaction. The default is false. e.g. <set-tx-query-timeout/>
  552. ]]>
  553. </xs:documentation>
  554. </xs:annotation>
  555. </xs:element>
  556. <xs:element name="query-timeout" type="xs:nonNegativeInteger" minOccurs="0">
  557. <xs:annotation>
  558. <xs:documentation>
  559. <![CDATA[[
  560. Any configured query timeout in seconds The default is no timeout
  561. e.g. 5 minutes <query-timeout>300</query-timeout>
  562. ]]>
  563. </xs:documentation>
  564. </xs:annotation>
  565. </xs:element>
  566. <xs:element name="use-try-lock" type="xs:nonNegativeInteger" minOccurs="0">
  567. <xs:annotation>
  568. <xs:documentation>
  569. <![CDATA[[
  570. Any configured timeout for internal locks on the resource adapter
  571. objects in seconds The default is a 60 second timeout e.g. 5 minutes <use-try-lock>300</use-try-lock>
  572. ]]>
  573. </xs:documentation>
  574. </xs:annotation>
  575. </xs:element>
  576. <xs:element name="allocation-retry" type="xs:nonNegativeInteger" minOccurs="0">
  577. <xs:annotation>
  578. <xs:documentation>
  579. <![CDATA[[
  580. The allocation retry element indicates the number of times that allocating
  581. a connection should be tried before throwing an exception. The default is 0.
  582. ]]>
  583. </xs:documentation>
  584. </xs:annotation>
  585. </xs:element>
  586. <xs:element name="allocation-retry-wait-millis" type="xs:nonNegativeInteger" minOccurs="0">
  587. <xs:annotation>
  588. <xs:documentation>
  589. <![CDATA[[
  590. The allocation retry wait millis element indicates the time in milliseconds
  591. to wait between retrying to allocate a connection. The default is 5000 (5 seconds).
  592. ]]>
  593. </xs:documentation>
  594. </xs:annotation>
  595. </xs:element>
  596. <xs:element name="xa-resource-timeout" type="xs:token" minOccurs="0">
  597. <xs:annotation>
  598. <xs:documentation>
  599. <![CDATA[[
  600. Passed to XAResource.setTransactionTimeout() Default is zero which
  601. does not invoke the setter. In seconds e.g. 5 minutes <xa-resource-timeout>300</xa-resource-timeout>
  602. ]]>
  603. </xs:documentation>
  604. </xs:annotation>
  605. </xs:element>
  606. </xs:sequence>
  607. </xs:complexType>
  608. <xs:simpleType name="track-statementsType">
  609. <xs:restriction base="xs:token">
  610. <xs:enumeration value="true" />
  611. <xs:enumeration value="false" />
  612. <xs:enumeration value="nowarn" />
  613. </xs:restriction>
  614. </xs:simpleType>
  615. <xs:complexType name="statementType">
  616. <xs:sequence>
  617. <xs:element name="track-statements" type="track-statementsType" minOccurs="0">
  618. <xs:annotation>
  619. <xs:documentation>
  620. <![CDATA[[
  621. Whether to check for unclosed statements when a connection is returned
  622. to the pool and result sets are closed when a statement is closed/return
  623. to the prepared statement cache. valid values are: false - do not track statements
  624. and results true - track statements and result sets and warn when they are
  625. not closed nowarn - track statements but do no warn about them being unclosed
  626. (the default) e.g. <track-statements>nowarn</track-statements>
  627. ]]>
  628. </xs:documentation>
  629. </xs:annotation>
  630. </xs:element>
  631. <xs:element name="prepared-statement-cache-size" type="xs:nonNegativeInteger" minOccurs="0">
  632. <xs:annotation>
  633. <xs:documentation>
  634. <![CDATA[[
  635. The number of prepared statements per connection in an LRU cache
  636. ]]>
  637. </xs:documentation>
  638. </xs:annotation>
  639. </xs:element>
  640. <xs:element name="share-prepared-statements" type="boolean-presenceType" minOccurs="0">
  641. <xs:annotation>
  642. <xs:documentation>
  643. <![CDATA[[
  644. Whether to share prepare statements, i.e. whether asking for same
  645. statement twice without closing uses the same underlying prepared statement.
  646. The default is false. e.g. <share-prepared-statements/>
  647. ]]>
  648. </xs:documentation>
  649. </xs:annotation>
  650. </xs:element>
  651. </xs:sequence>
  652. </xs:complexType>
  653. <xs:complexType name="poolType">
  654. <xs:sequence>
  655. <xs:element name="min-pool-size" type="xs:nonNegativeInteger" minOccurs="0">
  656. <xs:annotation>
  657. <xs:documentation>
  658. <![CDATA[[
  659. The min-pool-size element indicates the minimum number of connections
  660. a pool should hold. These are not created until a Subject is known from a
  661. request for a connection. This default to 0. Ex: <min-pool-size>1</min-pool-size>
  662. ]]>
  663. </xs:documentation>
  664. </xs:annotation>
  665. </xs:element>
  666. <xs:element name="max-pool-size" type="xs:nonNegativeInteger" minOccurs="0">
  667. <xs:annotation>
  668. <xs:documentation>
  669. <![CDATA[[
  670. The max-pool-size element indicates the maximum number of connections
  671. for a pool. No more connections will be created in each sub-pool.
  672. This defaults to 20.
  673. ]]>
  674. </xs:documentation>
  675. </xs:annotation>
  676. </xs:element>
  677. <xs:element name="prefill" type="xs:boolean" minOccurs="0">
  678. <xs:annotation>
  679. <xs:documentation>
  680. <![CDATA[[
  681. Whether to attempt to prefill the connection pool. Empty element denotes
  682. a true value. e.g. <prefill>true</prefill>.
  683. Default is false
  684. ]]>
  685. </xs:documentation>
  686. </xs:annotation>
  687. </xs:element>
  688. <xs:element name="use-strict-min" type="xs:boolean" minOccurs="0" maxOccurs="1">
  689. <xs:annotation>
  690. <xs:documentation>
  691. <![CDATA[[
  692. Define if the min-pool-size should be considered a strictly.
  693. Default false
  694. ]]>
  695. </xs:documentation>
  696. </xs:annotation>
  697. </xs:element>
  698. <xs:element name="flush-strategy" type="xs:token" minOccurs="0" maxOccurs="1">
  699. <xs:annotation>
  700. <xs:documentation>
  701. <![CDATA[[
  702. Specifies how the pool should be flush in case of an error.
  703. Valid values are: FailingConnectionOnly (default), IdleConnections, EntirePool
  704. ]]>
  705. </xs:documentation>
  706. </xs:annotation>
  707. </xs:element>
  708. </xs:sequence>
  709. </xs:complexType>
  710. <xs:complexType name="xa-poolType">
  711. <xs:complexContent>
  712. <xs:extension base="poolType">
  713. <xs:sequence>
  714. <xs:element name="is-same-rm-override" type="xs:boolean" minOccurs="0">
  715. <xs:annotation>
  716. <xs:documentation>
  717. <![CDATA[[
  718. The is-same-rm-override element allows one to unconditionally
  719. set whether the javax.transaction.xa.XAResource.isSameRM(XAResource) returns
  720. true or false. Ex: <is-same-rm-override>true</is-same-rm-override>
  721. ]]>
  722. </xs:documentation>
  723. </xs:annotation>
  724. </xs:element>
  725. <xs:element name="interleaving" type="boolean-presenceType" minOccurs="0">
  726. <xs:annotation>
  727. <xs:documentation>
  728. <![CDATA[[
  729. An element to enable interleaving for XA connection factories
  730. Ex: <interleaving/>
  731. ]]>
  732. </xs:documentation>
  733. </xs:annotation>
  734. </xs:element>
  735. <xs:element name="no-tx-separate-pools" type="boolean-presenceType" minOccurs="0">
  736. <xs:annotation>
  737. <xs:documentation>
  738. <![CDATA[[
  739. Oracle does not like XA connections getting used both inside and outside a JTA transaction.
  740. To workaround the problem you can create separate sub-pools for the different contexts
  741. using <no-tx-separate-pools/>
  742. Ex: <no-tx-separate-pools/>
  743. ]]>
  744. </xs:documentation>
  745. </xs:annotation>
  746. </xs:element>
  747. <xs:element name="pad-xid" type="xs:boolean" default="false" minOccurs="0">
  748. <xs:annotation>
  749. <xs:documentation>
  750. <![CDATA[[
  751. Should the Xid be padded
  752. Ex: <pad-xid>true</pad-xid>
  753. ]]>
  754. </xs:documentation>
  755. </xs:annotation>
  756. </xs:element>
  757. <xs:element name="wrap-xa-resource" type="xs:boolean" default="false" minOccurs="0">
  758. <xs:annotation>
  759. <xs:documentation>
  760. <![CDATA[[
  761. Should the XAResource instances be wrapped in a org.jboss.tm.XAResourceWrapper
  762. instance
  763. Ex: <wrap-xa-resource>true</wrap-xa-resource>
  764. ]]>
  765. </xs:documentation>
  766. </xs:annotation>
  767. </xs:element>
  768. </xs:sequence>
  769. </xs:extension>
  770. </xs:complexContent>
  771. </xs:complexType>
  772. <xs:complexType name="dsSecurityType">
  773. <xs:sequence>
  774. <xs:element name="user-name" type="xs:token" minOccurs="0">
  775. <xs:annotation>
  776. <xs:documentation>
  777. <![CDATA[[
  778. Specify the username used when creating a new connection.
  779. Ex: <user-name>sa</user-name>
  780. ]]>
  781. </xs:documentation>
  782. </xs:annotation>
  783. </xs:element>
  784. <xs:element name="password" type="xs:token" minOccurs="0">
  785. <xs:annotation>
  786. <xs:documentation>
  787. <![CDATA[[
  788. Specify the password used when creating a new connection.
  789. Ex: <password>sa-pass</password>
  790. ]]>
  791. </xs:documentation>
  792. </xs:annotation>
  793. </xs:element>
  794. <xs:element name="security-domain" type="xs:token" minOccurs="0" maxOccurs="1">
  795. <xs:annotation>
  796. <xs:documentation>
  797. <![CDATA[[
  798. Indicates Subject (from security domain) are used to distinguish connections in the pool.
  799. The content of the security-domain is the name of the JAAS security manager that will handle
  800. authentication. This name correlates to the JAAS login-config.xml descriptor
  801. application-policy/name attribute.
  802. Ex:
  803. <security-domain>HsqlDbRealm</security-domain>
  804. ]]>
  805. </xs:documentation>
  806. </xs:annotation>
  807. </xs:element>
  808. <xs:element name="reauth-plugin" type="extensionType" minOccurs="0" maxOccurs="1"></xs:element>
  809. </xs:sequence>
  810. </xs:complexType>
  811. <xs:complexType name="extensionType">
  812. <xs:sequence>
  813. <xs:element name="config-property" type="config-propertyType" minOccurs="0" maxOccurs="unbounded"></xs:element>
  814. </xs:sequence>
  815. <xs:attribute name="class-name" type="xs:token" use="required"></xs:attribute>
  816. </xs:complexType>
  817. <xs:complexType name="config-propertyType" mixed="true">
  818. <xs:annotation>
  819. <xs:documentation>
  820. <![CDATA[[
  821. Specifies a Java bean property value
  822. ]]>
  823. </xs:documentation>
  824. </xs:annotation>
  825. <xs:simpleContent>
  826. <xs:extension base="xs:token">
  827. <xs:attribute use="required" name="name" type="xs:token">
  828. <xs:annotation>
  829. <xs:documentation>
  830. <![CDATA[[
  831. Specifies the name of the config-property
  832. ]]>
  833. </xs:documentation>
  834. </xs:annotation>
  835. </xs:attribute>
  836. </xs:extension>
  837. </xs:simpleContent>
  838. </xs:complexType>
  839. <xs:complexType name="recoverType">
  840. <xs:sequence>
  841. <xs:element name="recover-credential" type="dsSecurityType" minOccurs="0" maxOccurs="1">
  842. <xs:annotation>
  843. <xs:documentation>
  844. <![CDATA[[
  845. Specifies the security options used when creating a connection during recovery.
  846. Note: if this credential are not specified the security credential are used for recover too
  847. ]]>
  848. </xs:documentation>
  849. </xs:annotation>
  850. </xs:element>
  851. <xs:element name="recover-plugin" type="extensionType" minOccurs="0" maxOccurs="1">
  852. <xs:annotation>
  853. <xs:documentation>
  854. <![CDATA[[
  855. Specifies the extension plugin used in spi (core.spi.xa)
  856. which can be implemented by various plugins to provide better feedback to the XA recovery system.
  857. ]]>
  858. </xs:documentation>
  859. </xs:annotation>
  860. </xs:element>
  861. </xs:sequence>
  862. <xs:attribute name="no-recovery" type="xs:boolean" default="false" use="optional">
  863. <xs:annotation>
  864. <xs:documentation>
  865. <![CDATA[[
  866. Specify if the xa-datasource should be excluded from recovery.
  867. Default false.
  868. ]]>
  869. </xs:documentation>
  870. </xs:annotation>
  871. </xs:attribute>
  872. </xs:complexType>
  873. <xs:complexType name="driverType">
  874. <xs:sequence>
  875. <xs:element name="driver-class" type="xs:token" maxOccurs="1" minOccurs="0">
  876. <xs:annotation>
  877. <xs:documentation>
  878. <![CDATA[[
  879. The fully qualifed name of the JDBC driver class Ex: <driver-class>org.hsqldb.jdbcDriver</driver-class>
  880. ]]>
  881. </xs:documentation>
  882. </xs:annotation>
  883. </xs:element>
  884. <xs:element name="datasource-class" type="xs:token" maxOccurs="1" minOccurs="0">
  885. <xs:annotation>
  886. <xs:documentation>
  887. <![CDATA[[
  888. The fully qualifed name of the javax.sql.DataSource implementation
  889. class.
  890. ]]>
  891. </xs:documentation>
  892. </xs:annotation></xs:element>
  893. <xs:element name="xa-datasource-class" type="xs:token" maxOccurs="1" minOccurs="0">
  894. <xs:annotation>
  895. <xs:documentation>
  896. <![CDATA[[
  897. The fully qualifed name of the javax.sql.XADataSource implementation
  898. class. Ex: <xa-datasource-class>oracle.jdbc.xa.client.OracleXADataSource</xa-datasource-class>
  899. ]]>
  900. </xs:documentation>
  901. </xs:annotation></xs:element>
  902. </xs:sequence>
  903. <xs:attribute name="name" type="xs:token" use="required">
  904. <xs:annotation>
  905. <xs:documentation>
  906. <![CDATA[[
  907. Specifies the symbolic name of this driver used to reference this driver
  908. ]]>
  909. </xs:documentation>
  910. </xs:annotation>
  911. </xs:attribute>
  912. <xs:attribute name="module" type="xs:token" use="optional">
  913. <xs:annotation>
  914. <xs:documentation>
  915. <![CDATA[[
  916. Specifies the name of AS7 module providing this driver.
  917. Thios tag is not used in IronJacamar standalone container.
  918. ]]>
  919. </xs:documentation>
  920. </xs:annotation>
  921. </xs:attribute>
  922. <xs:attribute name="major-version" type="xs:int" use="optional">
  923. <xs:annotation>
  924. <xs:documentation>
  925. <![CDATA[[
  926. Specifies the major version of this driver. If the major and minor version is obmitted the fist availabe
  927. Driver in module will be used.
  928. ]]>
  929. </xs:documentation>
  930. </xs:annotation>
  931. </xs:attribute>
  932. <xs:attribute name="minor-verion" type="xs:int" use="optional">
  933. <xs:annotation>
  934. <xs:documentation>
  935. <![CDATA[[
  936. Specifies the minor version of this driver. If the major and minor version is obmitted the fist availabe
  937. Driver in module will be used.
  938. ]]>
  939. </xs:documentation>
  940. </xs:annotation>
  941. </xs:attribute>
  942. </xs:complexType>
  943. <xs:complexType name="driversType">
  944. <xs:sequence>
  945. <xs:element name="driver" type="driverType" maxOccurs="unbounded" minOccurs="1"></xs:element>
  946. </xs:sequence>
  947. </xs:complexType>
  948. </xs:schema>