जेडीबीसी 4.0 विनिर्देश (12.2) के अनुसार:एक्सए डेटा स्रोत वैश्विक/वितरित लेनदेन में उपयोग करने में सक्षम एक्सए कनेक्शन उत्पन्न करता है। यदि आपको एक से अधिक डेटाबेस या JMS कॉल के लिए लेन-देन की आवश्यकता है, तो आपको ऐसे कनेक्शन की आवश्यकता हो सकती है। आप यहां अवधारणा की स्पष्ट व्याख्या पा सकते हैं:http:// www.theserverside.com/discussions/thread.tss?thread_id=21385#95346
यदि आपके पास ऐसा वितरित लेनदेन परिदृश्य नहीं है, तो आपको xa-datasource निर्दिष्ट करने की आवश्यकता नहीं है, एक साधारण डेटा स्रोत कॉन्फ़िगरेशन पर्याप्त है। इसलिए, यदि आप एक साधारण डेटा स्रोत का उपयोग करते हैं, तो आपको अपने ड्राइवर की घोषणा करते समय xa-datasource-class निर्दिष्ट करने की कोई आवश्यकता नहीं है।
<datasources>
<datasource jndi-name="java:/myDatasource" pool-name="MyDS" enabled="true" jta="true" use-java-context="true" use-ccm="true">
<connection-url>
jdbc:mysql://localhost:3306/mydb
</connection-url>
<driver>
mysql
</driver>
<transaction-isolation>
TRANSACTION_READ_COMMITTED
</transaction-isolation>
<pool>
<min-pool-size>
5
</min-pool-size>
<max-pool-size>
10
</max-pool-size>
<prefill>
true
</prefill>
<use-strict-min>
false
</use-strict-min>
<flush-strategy>
FailingConnectionOnly
</flush-strategy>
</pool>
<security>
<user-name>
username
</user-name>
<password>
password
</password>
</security>
</datasource>
<drivers>
<driver name="mysql" module="com.mysql"/>
</drivers>
</datasources>