track-connection-by-tx attribute of *-ds.xml files is ignored in 4.0. I will commit fix tomorrow (I've lost my ssh private key and it takes quite some time until new one gets activated). In the mean time you can use attached oracle-xa-service.xml.

Sasidharan, Manoj wrote:
Hello All,

Oracle XA datasource does not work in JBoss4.0.0Alpha.

Settings:
1. Pad=true in transaction-service.xml
2. oracle-xa-ds.xml (is the one working with JBoss3.2.0Beta)

--
Igor Fedorenko
Think smart. Think automated. Think Dynamics.
www.thinkdynamics.com
<?xml version="1.0" encoding="UTF-8"?>

<!-- ===================================================================== -->
<!--                                                                       -->
<!--  JBoss Server Configuration                                           -->
<!--                                                                       -->
<!-- ===================================================================== -->

<server>

  <!-- ==================================================================== -->
  <!-- ConnectionManager setup for xa oracle dbs                            -->
  <!-- Thanks to igor fedorenko <[EMAIL PROTECTED]>              -->
  <!-- Build jmx-api (build/build.sh all) and view for config documentation -->
  <!--  YOU MUST CHANGE THE XidFactoryMBean config to this:                 -->
  <!--
  <mbean code="org.jboss.tm.XidFactory" 
	 name="jboss:service=XidFactory">
    <attribute name="Pad">true</attribute>
  </mbean>
  -->
  <!-- ==================================================================== -->

  <mbean code="org.jboss.resource.connectionmanager.XATxConnectionManager" 
         name="jboss.jca:service=XATxCM,name=XAOracleDS">

    <attribute name="JndiName">XAOracleDS</attribute>

    <attribute name="TrackConnectionByTx">true</attribute>

    <depends optional-attribute-name="ManagedConnectionFactoryName">
      <!--embedded mbean-->
      <mbean code="org.jboss.resource.connectionmanager.RARDeployment"
             name="jboss.jca:service=XATxDS,name=XAOracleDS">

        <attribute name="ManagedConnectionFactoryClass">org.jboss.resource.adapter.jdbc.xa.oracle.XAOracleManagedConnectionFactory</attribute>

        <!--real attributes-->
        <attribute name="ManagedConnectionFactoryProperties">
          <properties>
            <config-property name="XADataSourceProperties" 
                type="java.lang.String">URL=jdbc:oracle:oci8:@tc</config-property>
            <config-property name="XADataSourceClass" 
                type="java.lang.String">oracle.jdbc.xa.client.OracleXADataSource</config-property>
            <!--set these only if you want only default logins, not through JAAS -->
            <config-property name="UserName" 
                type="java.lang.String">SCOTT</config-property>
            <config-property name="Password" 
                type="java.lang.String">TIGER</config-property>
            <!--
               Do not try to set transaction isolation level here or you'll get
               java.sql.SQLException: ORA-01453: SET TRANSACTION must be first statement of transaction
               Read committed is a default isolation level for Oracle, so there
               is not real need to set it here. I'll take a look into it later ...maybe.
            <config-property name="TransactionIsolation"
                type="java.lang.String">TRANSACTION_READ_COMMITTED</config-property>
            -->
          </properties>
        </attribute>
      </mbean>
    </depends>

    <depends optional-attribute-name="ManagedConnectionPool">
      <!--embedded mbean-->
      <mbean code="org.jboss.resource.connectionmanager.JBossManagedConnectionPool" 
             name="jboss.jca:service=XATxPool,name=XAOracleDS">

        <attribute name="MinSize">0</attribute>
        <attribute name="MaxSize">50</attribute>
        <attribute name="BlockingTimeoutMillis">5000</attribute>
        <attribute name="IdleTimeoutMinutes">15</attribute>
        <!--criteria indicates if Subject (from security domain) or app supplied
            parameters (such as from getConnection(user, pw)) are used to distinguish
            connections in the pool. Choices are 
            ByContainerAndApplication (use both), 
            ByContainer (use Subject),
            ByApplication (use app supplied params only),
            ByNothing (all connections are equivalent, usually if adapter supports
              reauthentication)-->
        <attribute name="Criteria">ByContainer</attribute>
      </mbean>
    </depends>
    <depends optional-attribute-name="CachedConnectionManager">jboss.jca:service=CachedConnectionManager</depends>

    <!-- Include a login module configuration named InformixXaDbRealm. 
         Update your login-conf.xml, here is an example for a 
         ConfiguredIdentityLoginModule:

    <application-policy name = "InformixXaDbRealm">
       <authentication>
          <login-module code = "org.jboss.resource.security.ConfiguredIdentityLoginModule" flag = "required">
             <module-option name = "principal">yourprincipal</module-option>
             <module-option name = "userName">yourusername</module-option>
             <module-option name = "password">yourpassword</module-option>
             <module-option name = "managedConnectionFactoryName">jboss.jca:service=XATxCM,name=InformixXaDS</module-option>
          </login-module>
       </authentication>
    </application-policy>

    NOTE: the application-policy name attribute must match SecurityDomainJndiName, and the 
      module-option name = "managedConnectionFactoryName"
    must match the object name of the ConnectionManager you are configuring here.
    -->
    <!--uncomment out this line if you are using the InformixXaDbRealm above 
    <attribute name="SecurityDomainJndiName">InformixXaDbRealm</attribute>
    -->

    <depends optional-attribute-name="JaasSecurityManagerService">jboss.security:service=JaasSecurityManager</depends>

    <depends optional-attribute-name="TransactionManagerService">jboss.tm:service=TransactionManagerService</depends>
  </mbean>

</server>

Reply via email to