JBoss Community

Re: How to configure JBoss to connect to 2 databases?

created by span7152 in Datasource Configuration - View the full discussion

Mr. Wolf-Dieter,

 

I've done following steps before trying

Copied “ojdbc14.jar” into server/default/lib dir.

Removed “hsqldb-ds.xml” from server/default/deploy dir.

Removed “hsqldb.jar” and “hsqldb-plugin.jar” from common/lib dir.

Removed HsqlDbRealm from “login-confgi.xml”.

Added "OracleDbRealm" into login-config.xml

Fixed web.xml, jboss-web.xml, META-INF/jbosscmp-jdbc.xml.

 

 

 

Please see 2 attemps as below. I need more instructions.

   (1) Split “oracle-xa-ds.xml” into “oracleds1-xa-ds.xml” for OracleDS1 and “oracleds2-xa-ds.xml” for OracleDS2.

 

oracleds1-xa-ds.xml:

<?xml version="1.0" encoding="UTF-8"?>

<datasources>

   <xa-datasource>

      <jndi-name>jdbc/OracleDS1</jndi-name>

      <!-- use-java-context>false</use-java-context -->

      <track-connection-by-tx>true</track-connection-by-tx>

      <isSameRM-override-value>false</isSameRM-override-value>

      <xa-datasource-class>oracle.jdbc.xa.client.OracleXADataSource</xa-datasource-class>

      <xa-datasource-property name="URL">URL</xa-datasource-property>

        <xa-datasource-property name="User">User</xa-datasource-property>

      <xa-datasource-property name="Password">Password</xa-datasource-property>     

      <exception-sorter-class-name>org.jboss.resource.adapter.jdbc.vendor.OracleExceptionSorter</exception-sorter-class-name>

        <no-tx-separate-pools/>

     

      <metadata>

         <type-mapping>Oracle9i</type-mapping>

      </metadata>

   </xa-datasource>

  

    <mbean code="org.jboss.resource.adapter.jdbc.vendor.OracleXAExceptionFormatter"

                  name="jboss.jca:service=OracleXAExceptionFormatter">

        <depends optional-attribute-name="TransactionManagerService">

            jboss:service=TransactionManager

        </depends>

    </mbean>     

</datasources>

 

oracleds2-xa-ds.xml:

<?xml version="1.0" encoding="UTF-8"?>

   <xa-datasource>

      <jndi-name>jdbc/OracleDS2</jndi-name>

      <!-- use-java-context>false</use-java-context -->

      <track-connection-by-tx>true</track-connection-by-tx>

      <isSameRM-override-value>false</isSameRM-override-value>

      <xa-datasource-class>oracle.jdbc.xa.client.OracleXADataSource</xa-datasource-class>

      <xa-datasource-property name="URL">URL</xa-datasource-property>

        <xa-datasource-property name="User">User</xa-datasource-property>

      <xa-datasource-property name="Password">Password</xa-datasource-property>

        <security-domain>OracleDbRealm</security-domain>

        <security-domain-and-application>OracleDbRealm</security-domain-and-application>     

      <exception-sorter-class-name>org.jboss.resource.adapter.jdbc.vendor.OracleExceptionSorter</exception-sorter-class-name>

      <no-tx-separate-pools/>

     

       <metadata>

         <type-mapping>Oracle9i</type-mapping>

      </metadata>

   </xa-datasource>  

  

    <mbean code="org.jboss.resource.adapter.jdbc.vendor.OracleXAExceptionFormatter"

                  name="jboss.jca:service=OracleXAExceptionFormatter">

        <depends optional-attribute-name="TransactionManagerService">

            jboss:service=TransactionManager

        </depends>

    </mbean>     

</datasources>

 

 

 

At the same time, split “oracle-persistence-service.xml” into “oracleds1-persistence-service.xml” for OracleDS1 and

“oracleds2-persistence-service.xml” for topmisOracleDS2.

 

oracleds1-persistence-service.xml:



   <!-- Persistence Manager MBean configuration

       ======================================== -->

   <mbean code="org.jboss.messaging.core.jmx.JDBCPersistenceManagerService"

      name="jboss.messaging:service=PersistenceManager"

      xmbean-dd="xmdesc/JDBCPersistenceManager-xmbean.xml">

      <depends>jboss.jca:service=DataSourceBinding,name=jdbc/OracleDS1</depends>

      <depends optional-attribute-name="TransactionManager">jboss:service=TransactionManager</depends>

      <!-- The datasource to use for the persistence manager -->

      <attribute name="DataSource">java:jdbc/OracleDS1</attribute>

      ...........

  </mbean>

 



oracleds2-persistence-service.xml:



   <!-- Persistence Manager MBean configuration

       ======================================== -->

   <mbean code="org.jboss.messaging.core.jmx.JDBCPersistenceManagerService"

      name="jboss.messaging:service=PersistenceManager"

      xmbean-dd="xmdesc/JDBCPersistenceManager-xmbean.xml">

      <depends>jboss.jca:service=DataSourceBinding,name=jdbc/OracleDS2</depends>

      <depends optional-attribute-name="TransactionManager">jboss:service=TransactionManager</depends>

      <!-- The datasource to use for the persistence manager -->

      <attribute name="DataSource">java:jdbc/OracleDS2</attribute>

      ...........

  </mbean>

 

Got a lot of warning/error

 

messages like "

WARN  [AbstractDeploymentContext] Unable to register deployment mbean jboss.messaging:service=PersistenceManager
javax.management.InstanceAlreadyExistsException: jboss.deployment:id="jboss.messaging:service=PersistenceManager",type=Component already registered.

 

(2)

 

Restored to one file “oracle-persistence-service.xml” with “DefaultDS”. 

<mbean code="org.jboss.messaging.core.jmx.JDBCPersistenceManagerService"

      name="jboss.messaging:service=PersistenceManager"

      xmbean-dd="xmdesc/JDBCPersistenceManager-xmbean.xml">

      <depends>jboss.jca:service=DataSourceBinding,name=DefaultDS</depends>

      <depends optional-attribute-name="TransactionManager">jboss:service=TransactionManager</depends>

      <!-- The datasource to use for the persistence manager -->

      <attribute name="DataSource">java:DefaultDS</attribute>

      ...........

  </mbean>

 

Got the following warning/error messages:

09:48:13,007 WARN  [TransactionManagerService] XAExceptionFormatters are not supported by the JBossTS Transaction Service - this warning can safely be ignored
09:48:13,725 INFO  [ConnectionFactoryBindingService] Bound ConnectionManager 'jboss.jca:service=DataSourceBinding,name=jdbc/topmisDS' to JNDI name 'java:jdbc/topmisDS'
09:48:13,732 WARN  [AbstractDeploymentContext] Unable to register deployment mbean jboss.jca:service=OracleXAExceptionFormatter
javax.management.InstanceAlreadyExistsException: jboss.deployment:id="jboss.jca:service=OracleXAExceptionFormatter",type=Component already registered.

Reply to this message by going to Community

Start a new discussion in Datasource Configuration at Community