Uploaded image for project: 'Application Server 3  4  5 and 6'
  1. Application Server 3 4 5 and 6
  2. JBAS-5472

ha-xa-datasource does not work with IBM DB2 Universal jdbc drivers

XMLWordPrintable

    • Icon: Feature Request Feature Request
    • Resolution: Obsolete
    • Icon: Major Major
    • No Release
    • JBossAS-4.0.5.GA, JBossAS-4.2.2.GA
    • JCA service
    • None
    • Linux (unknown distribution), SUN Java 1.4.2, IBM DB2 Universal jdbc drivers v2.10.52, JBoss 4.0.5.GA

      I'm defining an ha xa datasource for two DB2 data sources, but this fails. The reason is that org.jboss.resource.JBossResourceException.HAXAManagedConnectionFactory tries to use the setURL method of the defined xa datasource class (com.ibm.db2.jcc.DB2XADataSource), which does not exist. For a non-ha xa DB2 datasource, server name, port number, and database name is defined independently.
      I've checked in subversion and the same behavior/code seems to exist in JBoss AS 4.2.2. Also, I check the latest version av DB2 jdbc drivers (v2.11.24) and they do not have the setURL method either.

      Below is my ds definition (ha):
      <datasources>
      <ha-xa-datasource>
      <jndi-name>JNDI_NAME</jndi-name>
      <xa-datasource-class>com.ibm.db2.jcc.DB2XADataSource</xa-datasource-class>
      <xa-datasource-property name="URL">jdbc:db2://HOST1:PORT1/DBNAME1|jdbc:db2://HOST2:PORT2/DBNAME2</xa-datasource-property>
      <url-property>URL</url-property>
      <url-delimeter>|</url-delimeter>
      <xa-datasource-property name="DriverType">4</xa-datasource-property>
      <user-name>USERNAME</user-name>
      <password>PASSWORD</password>
      <isSameRM-override-value>false</isSameRM-override-value>
      <track-connection-by-tx/>
      <transaction-isolation>TRANSACTION_READ_UNCOMMITTED</transaction-isolation>
      <max-pool-size>50</max-pool-size>
      </ha-xa-datasource>
      </datasources>

      The same (well just one database) if ha is NOT used:
      <datasources>
      <xa-datasource>
      <jndi-name>JNDI_NAME</jndi-name>
      <xa-datasource-class>com.ibm.db2.jcc.DB2XADataSource</xa-datasource-class>
      <xa-datasource-property name="ServerName">HOST</xa-datasource-property>
      <xa-datasource-property name="PortNumber">PORT</xa-datasource-property>
      <xa-datasource-property name="DatabaseName">DBNAME</xa-datasource-property>
      <xa-datasource-property name="DriverType">4</xa-datasource-property>
      <user-name>USERNAME</user-name>
      <password>PASSWORD</password>
      <isSameRM-override-value>false</isSameRM-override-value>
      <track-connection-by-tx/>
      <transaction-isolation>TRANSACTION_READ_UNCOMMITTED</transaction-isolation>
      <max-pool-size>10</max-pool-size>
      </xa-datasource>
      </datasources>

              Unassigned Unassigned
              andham73 Anders Hammar (Inactive)
              Votes:
              1 Vote for this issue
              Watchers:
              1 Start watching this issue

                Created:
                Updated:
                Resolved: