2012-02-03 34 views
5
Ben JBoss 7. MySQL i elemanı için gördüğüm tüm başvurular bir veri kaynağı yapılandırmak için çeşitli örneklere bakarak edilmiştir

şuna benzer:JBoss Datasource yapılandırma - MysqlXADataSource eleman

<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> 

Bildiklerimi <driver-class> nedir, ancak ne <xa-datasource-class> tam olarak ne amacı nedir?

Tomcat üzerinde bir veri kaynağını yapılandırdığımda, herhangi bir veritabanı için xa-veri kaynağını belirtmem gerekmedim. Neden burası farklı?

Teşekkür

jdbc 4,0 şartnamesine göre

cevap

7

(12.2): XA datasources küresel/dağıtılmış işlemlerde kullanılmak üzere yetenekli XA bağlantıları üretir. Birden fazla veritabanına veya JMS çağrısına yayılacak bir işleme ihtiyacınız varsa böyle bir bağlantıya ihtiyacınız olabilir. Burada konseptin açık bir açıklamasını bulabilirsiniz: http://www.theserverside.com/discussions/thread.tss?thread_id=21385#95346

Eğer böyle bir dağıtılmış işlem senaryosuna sahip değilseniz, bir xa-veri kaynağı belirtmeniz gerekmez, basit bir veri kaynağı yapılandırması yeterlidir. Dolayısıyla, basit bir veri kaynağı kullanırsanız, sürücünüzü bildirdiğinizde bir xa-veri kaynağı sınıfı belirtmeniz gerekmez.

<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>