7 Replies Latest reply on Dec 2, 2011 7:25 PM by NIranjan Nanda

    JBoss 7.0.2 GA is giving error for Unable to load: org.jboss.jca.adapters.jdbc.vendor.OracleValidConnectionChecker

    NIranjan Nanda Apprentice

      Hi All,

       

      We are migrating to JBoss 7.0.2 from JBoss 5.1. Oracle is our DB and we are using latest Oracle JDBC driver. The configuration for data source subsystem is shown below:

       

       

      <subsystem xmlns="urn:jboss:domain:datasources:1.0">
        <datasources>
          <datasource jndi-name="java:jboss/MyDS" pool-name="MyConnectionPool" enabled="true" jta="true" use-java-context="false" use-ccm="true">
            <connection-url>jdbc:oracle:thin:@abc.mycompany.com:1123:dbsid</connection-url>
            <driver-class>oracle.jdbc.driver.OracleDriver</driver-class>
            <connection-property name="char.encoding">UTF-8</connection-property>
            <connection-property name="autoCommit">false</connection-property>
            <driver>oracle</driver>
            <pool>
              <min-pool-size>2</min-pool-size>
              <max-pool-size>5</max-pool-size>
              <prefill>false</prefill>
              <use-strict-min>false</use-strict-min>
              <flush-strategy>FailingConnectionOnly</flush-strategy>
            </pool>
            <security>
              <user-name>db_user</user-name>
              <password>db_user_p</password>
            </security>
            <validation>
              <valid-connection-checker class-name="org.jboss.jca.adapters.jdbc.vendor.OracleValidConnectionChecker"/>
              <validate-on-match>false</validate-on-match>
              <background-validation>false</background-validation>
              <use-fast-fail>false</use-fast-fail>
            </validation>
            <timeout>
              <blocking-timeout-millis>5</blocking-timeout-millis>
              <idle-timeout-minutes>10</idle-timeout-minutes>
            </timeout>
          </datasource>
          <drivers>
            <driver name="oracle" module="com.oracle.ojdbc6"/>
          </drivers>
        </datasources>
      </subsystem>
      

       

      Every time I invoke an operation that uses this DB connection failes with below trace

       

      10:48:20,673 [Line: 1173] WARN  [org.jboss.jca.adapters.jdbc.local.LocalManagedConnectionFactory] (http--127.0.0.1-6883-1) Exception trying to create valid connection checker (disabling):: java.lang.Exception: Unable to load: org.jboss.jca.adapters.jdbc.vendor.OracleValidConnectionChecker
          at org.jboss.jca.adapters.jdbc.BaseWrapperManagedConnectionFactory.loadPlugin(BaseWrapperManagedConnectionFactory.java:1081) [ironjacamar-jdbc-1.0.3.Final.jar:1.0.3.Final]
          at org.jboss.jca.adapters.jdbc.BaseWrapperManagedConnectionFactory.isValidConnection(BaseWrapperManagedConnectionFactory.java:1158) [ironjacamar-jdbc-1.0.3.Final.jar:1.0.3.Final]
          at org.jboss.jca.adapters.jdbc.BaseWrapperManagedConnection.checkValid(BaseWrapperManagedConnection.java:454) [ironjacamar-jdbc-1.0.3.Final.jar:1.0.3.Final]
          at org.jboss.jca.adapters.jdbc.local.LocalManagedConnectionFactory.matchManagedConnections(LocalManagedConnectionFactory.java:507) [ironjacamar-jdbc-1.0.3.Final.jar:1.0.3.Final]
          at org.jboss.jca.core.connectionmanager.pool.mcp.SemaphoreArrayListManagedConnectionPool.getConnection(SemaphoreArrayListManagedConnectionPool.java:260)
          at org.jboss.jca.core.connectionmanager.pool.AbstractPool.getSimpleConnection(AbstractPool.java:392)
          at org.jboss.jca.core.connectionmanager.pool.AbstractPool.getConnection(AbstractPool.java:357)
          at org.jboss.jca.core.connectionmanager.AbstractConnectionManager.getManagedConnection(AbstractConnectionManager.java:351)
          at org.jboss.jca.core.connectionmanager.tx.TxConnectionManagerImpl.getManagedConnection(TxConnectionManagerImpl.java:367)
          at org.jboss.jca.core.connectionmanager.AbstractConnectionManager.allocateConnection(AbstractConnectionManager.java:467)
          at org.jboss.jca.adapters.jdbc.WrapperDataSource.getConnection(WrapperDataSource.java:129) [ironjacamar-jdbc-1.0.3.Final.jar:1.0.3.Final]
          at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:111) [spring-jdbc-3.0.6.RELEASE.jar:]
          at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:77) [spring-jdbc-3.0.6.RELEASE.jar:]
          at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:940) [spring-jdbc-3.0.6.RELEASE.jar:]
          at org.springframework.jdbc.core.JdbcTemplate.call(JdbcTemplate.java:1003) [spring-jdbc-3.0.6.RELEASE.jar:]
          at org.springframework.jdbc.object.StoredProcedure.execute(StoredProcedure.java:144) [spring-jdbc-3.0.6.RELEASE.jar:]
      

       

      The next immediate call to the application hangs forever and never comes out. It looks like JBoss is not able to create a DB connection or the connection validity checker simply fails.

       

      Could someone help us? We are in a POC stage for migration and this is the biggest road block and decesion factor for either going for JBoss 7 or some other alternatives.

       

      Thanks,

      Niranjan