Uploaded image for project: 'WildFly'
  1. WildFly
  2. WFLY-10637

NPE when reading oracle jdbc 12.2.0.1 datasource with include-runtime

    XMLWordPrintable

Details

    • Bug
    • Resolution: Won't Do
    • Major
    • None
    • None
    • JCA
    • None

    Description

      Download oracle jdbc driver at http://www.oracle.com/technetwork/database/features/jdbc/jdbc-ucp-122-3110062.html

      Install the driver as a module

      $ cat modules/system/layers/base/com/oracle/jdbc/main/module.xml 
      <?xml version="1.0" encoding="UTF-8"?>
      <module name="com.oracle.jdbc" xmlns="urn:jboss:module:1.5">
      
          <resources>
              <resource-root path="ojdbc8.jar"/>
          </resources>
          <dependencies>
              <module name="javax.api"/>
              <module name="javax.transaction.api"/>
          </dependencies>
      </module>
      

      Add the jdbc-driver resource

      /profile=full-ha/subsystem=datasources/jdbc-driver=oracle_8_xa:add(driver-module-name=com.oracle.jdbc,driver-name=oracle_8_xa,driver-datasource-class-name=oracle.jdbc.datasource.OracleDataSource,driver-xa-datasource-class-name=oracle.jdbc.xa.client.OracleXADataSource,driver-class-name=oracle.jdbc.OracleDriver)
      

      Wildfly log shows it is ok

      [Server:server-three] 13:44:28,939 INFO  [org.jboss.as.connector.subsystems.datasources] (ServerService Thread Pool -- 73) WFLYJCA0004: Deploying JDBC-compliant driver class oracle.jdbc.OracleDriver (version 12.2)
      [Server:server-three] 13:44:28,939 INFO  [org.jboss.as.connector.deployers.jdbc] (MSC service thread 1-6) WFLYJCA0018: Started Driver service with driver-name = oracle_8_xa
      

      Read the jdbc-driver on a runtime server

      /host=master/server=server-three/subsystem=datasources/jdbc-driver=oracle_8_xa:read-resource(include-runtime)
      {
          "outcome" => "success",
          "result" => undefined,
          "failure-description" => undefined
      
      

      Wildfly log shows the error

      2018-06-25 13:45:00,165 ERROR [org.jboss.as.controller.management-operation] (ServerService Thread Pool -- 73) WFLYCTL0013: Operation ("read-attribute") failed - address: ([
          ("subsystem" => "datasources"),
          ("jdbc-driver" => "oracle_8_xa")
      ]): java.lang.NullPointerException
              at org.jboss.as.connector.subsystems.datasources.GetDataSourceClassInfoOperationHandler.possiblePropsSetters(GetDataSourceClassInfoOperationHandler.java:182)
              at org.jboss.as.connector.subsystems.datasources.GetDataSourceClassInfoOperationHandler.findPropsFromCls(GetDataSourceClassInfoOperationHandler.java:124)
              at org.jboss.as.connector.subsystems.datasources.GetDataSourceClassInfoOperationHandler.dsClsInfoNode(GetDataSourceClassInfoOperationHandler.java:96)
              at org.jboss.as.connector.subsystems.datasources.GetDataSourceClassInfoOperationHandler$1.execute(GetDataSourceClassInfoOperationHandler.java:82)
              at org.jboss.as.controller.AbstractOperationContext.executeStep(AbstractOperationContext.java:999)
              at org.jboss.as.controller.AbstractOperationContext.processStages(AbstractOperationContext.java:743)
              at org.jboss.as.controller.AbstractOperationContext.executeOperation(AbstractOperationContext.java:467)
              at org.jboss.as.controller.OperationContextImpl.executeOperation(OperationContextImpl.java:1411)
              at org.jboss.as.controller.ModelControllerImpl.internalExecute(ModelControllerImpl.java:423)
              at org.jboss.as.controller.ModelControllerImpl.lambda$execute$1(ModelControllerImpl.java:243)
              at org.wildfly.security.auth.server.SecurityIdentity.runAs(SecurityIdentity.java:263)
              at org.wildfly.security.auth.server.SecurityIdentity.runAs(SecurityIdentity.java:229)
              at org.jboss.as.controller.ModelControllerImpl.execute(ModelControllerImpl.java:243)
              at org.jboss.as.controller.remote.TransactionalProtocolOperationHandler.internalExecute(TransactionalProtocolOperationHandler.java:249)
              at org.jboss.as.controller.remote.TransactionalProtocolOperationHandler$ExecuteRequestHandler.doExecute(TransactionalProtocolOperationHandler.java:190)
              at org.jboss.as.controller.remote.TransactionalProtocolOperationHandler$ExecuteRequestHandler$1.run(TransactionalProtocolOperationHandler.java:143)
              at org.jboss.as.controller.remote.TransactionalProtocolOperationHandler$ExecuteRequestHandler$1.run(TransactionalProtocolOperationHandler.java:139)
              at org.wildfly.security.auth.server.SecurityIdentity.runAs(SecurityIdentity.java:263)
              at org.wildfly.security.auth.server.SecurityIdentity.runAs(SecurityIdentity.java:229)
              at org.jboss.as.controller.AccessAuditContext.doAs(AccessAuditContext.java:198)
              at org.jboss.as.controller.remote.TransactionalProtocolOperationHandler$ExecuteRequestHandler$2$1.run(TransactionalProtocolOperationHandler.java:162)
              at org.jboss.as.controller.remote.TransactionalProtocolOperationHandler$ExecuteRequestHandler$2$1.run(TransactionalProtocolOperationHandler.java:158)
              at java.security.AccessController.doPrivileged(Native Method)
              at org.jboss.as.controller.remote.TransactionalProtocolOperationHandler$ExecuteRequestHandler$2.execute(TransactionalProtocolOperationHandler.java:158)
              at org.jboss.as.protocol.mgmt.ManagementRequestContextImpl$1.doExecute(ManagementRequestContextImpl.java:70)
              at org.jboss.as.protocol.mgmt.ManagementRequestContextImpl$AsyncTaskRunner.run(ManagementRequestContextImpl.java:160)
              at org.jboss.threads.ContextClassLoaderSavingRunnable.run(ContextClassLoaderSavingRunnable.java:35)
              at org.jboss.threads.EnhancedQueueExecutor.safeRun(EnhancedQueueExecutor.java:1985)
              at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.doRunTask(EnhancedQueueExecutor.java:1487)
              at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1378)
              at java.lang.Thread.run(Thread.java:748)
              at org.jboss.threads.JBossThread.run(JBossThread.java:485)
      

      It works if omit include-runtime, but there is no runtime information

      The following drivers works with include-runtime

      • postgresql-42.2.2.jre6.jar
      • ojdbc7.jar
      • mssql-jdbc-6.5.3.jre8-preview.jar

      Attachments

        Issue Links

          Activity

            People

              rhn-engineering-lgao Lin Gao
              cmiranda@redhat.com Claudio Miranda
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: