3 Replies Latest reply on Apr 12, 2002 6:27 PM by davidjencks

    multiple JdbcProviders

    pluellen

      Thanks in advance for any help you can provided.

      I'm using Jboss-2.4.4 and am trying to see if I can use multiple JdbcProviders. For instance, I want to use both the Hypersonic datasource that comes with JBoss as the DefaultDS and DB2 SAMPLE as an additional datasource.

      I've edited the jboss.jmcl and am able to run them both individually with no problems. I'm also able to run JBoss to access two separate DB2 databases at the same time - no problem.

      However, when I have two different JdbcProviders defined in my jboss.jcml file (one for Hypersonic and one of DB2), JBoss hangs at startup at [INFO,DefaultDS] XA Connection pool DefaultDS bound to java:/DefaultDS.

      During startup, it appears that the db2 jdbc driver is being used to initialize Hypersonic:

      [INFO,JdbcProvider] Initializing
      [INFO,JdbcProvider] Loaded JDBC-driver:COM.ibm.db2.jdbc.app.DB2Driver
      [INFO,JdbcProvider] Initialized
      [INFO,HypersonicDatabase] Initializing
      [INFO,HypersonicDatabase] Initialized
      [INFO,DefaultDS] Initializing
      [INFO,DefaultDS] Initialized
      [INFO,JdbcProvider] Initializing
      [INFO,JdbcProvider] Loaded JDBC-driver:COM.ibm.db2.jdbc.app.DB2Driver
      [INFO,JdbcProvider] Initialized
      [INFO,db2sample] Initializing
      [INFO,db2sample] Initialized

      Below is the relevant section of my jboss.jcml file:

      <!-- ==================================================================== -->
      <!-- JDBC -->
      <!-- ==================================================================== -->


      org.hsqldb.jdbcDriver



      1476
      true
      default
      false



      DefaultDS
      org.jboss.pool.jdbc.xa.wrapper.XADataSourceImpl

      jdbc:hsqldb:hsql://localhost:1476
      1200000
      sa
      10

      false
      false
      false
      true
      120000
      1800000
      false
      false
      1.0
      0


      <!-- ==================================================================== -->
      <!-- db2 as JdbcProvider -->
      <!-- ==================================================================== -->


      COM.ibm.db2.jdbc.app.DB2Driver


      <!-- ==================================================================== -->
      <!-- db2 sample database as db2sample datasource declaration -->
      <!-- ==================================================================== -->


      db2sample
      org.jboss.pool.jdbc.xa.wrapper.XADataSourceImpl

      jdbc:db2:sample
      1200000
      db2admin
      10
      db2admin
      false
      false
      false
      true
      120000
      1800000
      false
      false
      1.0
      0


      Any ideas?

      Thanks again.

        • 1. Re: multiple JdbcProviders
          davidjencks

          put both drivers in one JDBCProvider, comma separated

          • 2. Re: multiple JdbcProviders
            pluellen

            David,

            Thanks for the quick response.

            Just out of curiosity, when there are multiple JdbcProviders and multiple datasources, how does JBoss know which datasources are bound to which JdbcProviders?

            Thanks again.

            • 3. Re: multiple JdbcProviders
              davidjencks

              There can only be one JDBCProvider as far as I know, and it's pretty stupid. All it does is load the driver class. Hmmm, maybe you can have more if you give them different object names? I think someone added the ability to load the driver class somewhere in XADataSourceLoader, but I don't remember clearly.