2012-02-03 9 views
5

मैं सभी संदर्भ मैं तत्व के लिए देखा है Jboss 7 में MySQL के लिए एक डेटा स्रोत विन्यस्त करने के लिए कई उदाहरण को देखकर किया गया है इस तरह दिखता है:MySQL के लिए Jboss डेटा स्रोत विन्यास - MysqlXADataSource तत्व

<driver name="com.mysql" module="com.mysql"> 
    <driver-class>com.mysql.jdbc.Driver</driver-class> 
    <xa-datasource-class>com.mysql.jdbc.jdbc2.optional.MysqlXADataSource</xa-datasource-class> 
</driver> 

मुझे पता है कि <driver-class> है लेकिन <xa-datasource-class> वास्तव में क्या है इसका उद्देश्य क्या है?

जब मैंने किसी भी डेटाबेस के लिए xa-datasource निर्दिष्ट करने की आवश्यकता नहीं होने से पहले टॉमकैट पर एक डेटास्रोत कॉन्फ़िगर किया था। यह यहाँ अलग क्यों है?

धन्यवाद

उत्तर

7
JDBC 4.0 विनिर्देश के अनुसार

(12.2): XA datasources XA कनेक्शन सक्षम वैश्विक/वितरित लेन-देन में इस्तेमाल किया जाएगा पैदा करता है। यदि आपको एक से अधिक डेटाबेस या जेएमएस कॉल करने के लिए लेनदेन की आवश्यकता है तो आपको ऐसे कनेक्शन की आवश्यकता हो सकती है। आप यहां अवधारणा का एक स्पष्ट स्पष्टीकरण पा सकते हैं: http://www.theserverside.com/discussions/thread.tss?thread_id=21385#95346

यदि आपके पास ऐसे वितरित लेनदेन परिदृश्य नहीं हैं तो आपको एक एक्सए-डेटास्रोत निर्दिष्ट करने की आवश्यकता नहीं है, एक साधारण डेटासॉर कॉन्फ़िगरेशन पर्याप्त है। इसलिए, यदि आप एक साधारण डेटासोर्स का उपयोग करते हैं तो जब आप अपने ड्राइवर को घोषित करते हैं तो 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>