Search code examples
jbossjtdswildfly

JTDS module under WildFly (JBoss)


I am busy upgrading from JBoss 7.1.1 to Wildfly 8.0.0.Beta1. I was using the JTDS database driver under JBoss without problems, but it is not working under WildFly.

I have creates the /net/sourceforge/jtds/main/ folder structure under modules in my WildFly installation and added the module.xml file, but Wildfly doesn't seem to be picking it up.

I have also tried the /modules/system/layers/base/ folder as this is a new one under WildFly, but that doesn't work either and I have downloaded the latest JTDS .JAR file too.

The error I get when I start Wildfly is:

ERROR [org.jboss.as.controller.management-operation] (Controller Boot Thread) JBAS014613: Operation ("add") failed - address: ([
    ("subsystem" => "datasources"),
    ("data-source" => "SCI_ODS_sql2")
]) - failure description: {"JBAS014771: Services with missing/unavailable dependencies" => [
    "jboss.data-source.java:jboss/datasources/SCI_ODS is missing [jboss.jdbc-driver.JTDS]",
    "jboss.driver-demander.java:jboss/datasources/SCI_ODS is missing [jboss.jdbc-driver.JTDS]"
]}
ERROR [org.jboss.as.controller.management-operation] (Controller Boot Thread) JBAS014613: Operation ("add") failed - address: ([
    ("subsystem" => "datasources"),
    ("data-source" => "SCI_ODS_sql2")
]) - failure description: {
    "JBAS014771: Services with missing/unavailable dependencies" => [
        "jboss.data-source.java:jboss/datasources/SCI_ODS is missing [jboss.jdbc-driver.JTDS]",
        "jboss.driver-demander.java:jboss/datasources/SCI_ODS is missing [jboss.jdbc-driver.JTDS]"
    ],
    "JBAS014879: One or more services were unable to start due to one or more indirect dependencies not being available." => {
        "Services that were unable to start:" => [
            "jboss.data-source.reference-factory.SCI_ODS_sql2",
            "jboss.naming.context.java.jboss.datasources.SCI_ODS"
        ],
        "Services that may be the cause:" => ["jboss.jdbc-driver.JTDS"]
    }
}

If I run /subsystem=datasources:installed-drivers-list uon jboss-cli.sh it only shows the h2 driver that is installed by default and not the JTDS one.


Solution

  • I hadn't setup the driver in standalone.xml properly. I had convinced myself that I'd done that already. Added:

     <driver name="JTDS" module="net.sourceforge.jtds">
        <driver-class>net.sourceforge.jtds.jdbc.Driver</driver-class>
        <xa-datasource-class>net.sourceforge.jtds.jdbcx.JtdsDataSource</xa-datasource-class>
     </driver>