2 Replies Latest reply on Aug 29, 2014 12:59 PM by Troy Bronzan

    Problems with HSQLDB as an XA Datasource

    Troy Bronzan Newbie

      I'm not sure if the problem is with Wildfly for HSQLDB but Wildfly can't seem to create a connection to HSQLDB when it's configured as an XA Datasource.  I keep getting a NoSuchMethodException that says "Method setURL not found".  Within the application I can create an unmanaged connection no problem.  As of 2.3 HSQLDB supports XA and the proper classes seem to be in the jar file.  Wildfly starts up fine, but the exception occurs when a connection is being created.  I undeployed my application to see if there was something wrong there, but this exception also occurs whenever I click on test connection in the management console.  Here's the configuration in standalone.xml and the stack trace.  Thanks in advance.

       

                      <xa-datasource jndi-name="java:jboss/jdbc/realtime" pool-name="RealTimeDB" enabled="true" use-ccm="false">
                          <xa-datasource-property name="URL">
                              jdbc:hsqldb:mem:realtime;hsqldb.tx=mvcc
                          </xa-datasource-property>
                          <driver>hsqldb</driver>
                          <xa-pool>
                              <is-same-rm-override>false</is-same-rm-override>
                              <interleaving>false</interleaving>
                              <pad-xid>false</pad-xid>
                              <wrap-xa-resource>false</wrap-xa-resource>
                          </xa-pool>
                          <security>
                              <user-name>SA</user-name>
                          </security>
                          <recovery no-recovery="true"/>
                          <validation>
                              <validate-on-match>false</validate-on-match>
                              <background-validation>false</background-validation>
                          </validation>
                          <statement>
                              <share-prepared-statements>false</share-prepared-statements>
                          </statement>
                      </xa-datasource>
                      <driver name="hsqldb" module="org.hsqldb">
                          <xa-datasource-class>org.hsqldb.jdbc.pool.JDBCXADataSource</xa-datasource-class>
                      </driver>
      

       

       

      15:43:49,119 WARN  [org.jboss.jca.core.connectionmanager.pool.strategy.OnePool] (XNIO-1 task-5) IJ000604: Throwable while attempting to get a new connection: null: javax.resource.ResourceException: Could not create connection
        at org.jboss.jca.adapters.jdbc.xa.XAManagedConnectionFactory.getXAManagedConnection(XAManagedConnectionFactory.java:461) [ironjacamar-jdbc-1.1.3.Final.jar:1.1.3.Final]
        at org.jboss.jca.adapters.jdbc.xa.XAManagedConnectionFactory.createManagedConnection(XAManagedConnectionFactory.java:398) [ironjacamar-jdbc-1.1.3.Final.jar:1.1.3.Final]
        at org.jboss.jca.core.connectionmanager.pool.mcp.SemaphoreArrayListManagedConnectionPool.createConnectionEventListener(SemaphoreArrayListManagedConnectionPool.java:1144) [ironjacamar-core-impl-1.1.3.Final.jar:1.1.3.Final]
        at org.jboss.jca.core.connectionmanager.pool.mcp.SemaphoreArrayListManagedConnectionPool.getConnection(SemaphoreArrayListManagedConnectionPool.java:446) [ironjacamar-core-impl-1.1.3.Final.jar:1.1.3.Final]
        at org.jboss.jca.core.connectionmanager.pool.AbstractPool.internalTestConnection(AbstractPool.java:747) [ironjacamar-core-impl-1.1.3.Final.jar:1.1.3.Final]
        at org.jboss.jca.core.connectionmanager.pool.strategy.OnePool.testConnection(OnePool.java:91) [ironjacamar-core-impl-1.1.3.Final.jar:1.1.3.Final]
        at org.jboss.as.connector.subsystems.common.pool.PoolOperations$TestConnectionInPool.invokeCommandOn(PoolOperations.java:206) [wildfly-connector-8.0.0.Final.jar:8.0.0.Final]
        at org.jboss.as.connector.subsystems.common.pool.PoolOperations$1.execute(PoolOperations.java:87) [wildfly-connector-8.0.0.Final.jar:8.0.0.Final]
        at org.jboss.as.controller.AbstractOperationContext.executeStep(AbstractOperationContext.java:591) [wildfly-controller-8.0.0.Final.jar:8.0.0.Final]
        at org.jboss.as.controller.AbstractOperationContext.doCompleteStep(AbstractOperationContext.java:469) [wildfly-controller-8.0.0.Final.jar:8.0.0.Final]
        at org.jboss.as.controller.AbstractOperationContext.completeStepInternal(AbstractOperationContext.java:273) [wildfly-controller-8.0.0.Final.jar:8.0.0.Final]
        at org.jboss.as.controller.AbstractOperationContext.executeOperation(AbstractOperationContext.java:268) [wildfly-controller-8.0.0.Final.jar:8.0.0.Final]
        at org.jboss.as.controller.ModelControllerImpl.internalExecute(ModelControllerImpl.java:272) [wildfly-controller-8.0.0.Final.jar:8.0.0.Final]
        at org.jboss.as.controller.ModelControllerImpl.execute(ModelControllerImpl.java:146) [wildfly-controller-8.0.0.Final.jar:8.0.0.Final]
        at org.jboss.as.domain.http.server.DomainApiHandler.handleRequest(DomainApiHandler.java:169)
        at org.jboss.as.domain.http.server.security.SubjectDoAsHandler$1.run(SubjectDoAsHandler.java:72)
        at org.jboss.as.domain.http.server.security.SubjectDoAsHandler$1.run(SubjectDoAsHandler.java:68)
        at java.security.AccessController.doPrivileged(Native Method) [rt.jar:1.7.0_65]
        at javax.security.auth.Subject.doAs(Subject.java:415) [rt.jar:1.7.0_65]
        at org.jboss.as.controller.AccessAuditContext.doAs(AccessAuditContext.java:94) [wildfly-controller-8.0.0.Final.jar:8.0.0.Final]
        at org.jboss.as.domain.http.server.security.SubjectDoAsHandler.handleRequest(SubjectDoAsHandler.java:68)
        at org.jboss.as.domain.http.server.security.SubjectDoAsHandler.handleRequest(SubjectDoAsHandler.java:63)
        at io.undertow.server.handlers.BlockingHandler.handleRequest(BlockingHandler.java:50)
        at org.jboss.as.domain.http.server.DomainApiCheckHandler.handleRequest(DomainApiCheckHandler.java:77)
        at io.undertow.security.handlers.AuthenticationCallHandler.handleRequest(AuthenticationCallHandler.java:52)
        at io.undertow.server.Connectors.executeRootHandler(Connectors.java:168)
        at io.undertow.server.HttpServerExchange$1.run(HttpServerExchange.java:687)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) [rt.jar:1.7.0_65]
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) [rt.jar:1.7.0_65]
        at java.lang.Thread.run(Thread.java:745) [rt.jar:1.7.0_65]
      Caused by: javax.resource.ResourceException: Could not find accessor on XADataSource:
        at org.jboss.jca.adapters.jdbc.xa.XAManagedConnectionFactory.getXADataSource(XAManagedConnectionFactory.java:616) [ironjacamar-jdbc-1.1.3.Final.jar:1.1.3.Final]
        at org.jboss.jca.adapters.jdbc.xa.XAManagedConnectionFactory.getXAManagedConnection(XAManagedConnectionFactory.java:444) [ironjacamar-jdbc-1.1.3.Final.jar:1.1.3.Final]
        ... 29 more
      Caused by: java.lang.NoSuchMethodException: Method setURL not found
        at org.jboss.jca.adapters.jdbc.util.Injection.inject(Injection.java:141) [ironjacamar-jdbc-1.1.3.Final.jar:1.1.3.Final]
        at org.jboss.jca.adapters.jdbc.util.Injection.inject(Injection.java:70) [ironjacamar-jdbc-1.1.3.Final.jar:1.1.3.Final]
        at org.jboss.jca.adapters.jdbc.xa.XAManagedConnectionFactory.getXADataSource(XAManagedConnectionFactory.java:591) [ironjacamar-jdbc-1.1.3.Final.jar:1.1.3.Final]
        ... 30 more