我正忙着从JBoss 7.1.1升级到Wildflig8.0.0.Beta 1。我在JBoss下使用JTDS数据库驱动程序时没有问题,但是它不能在WildFly下工作。
我已经在我的/net/sourceforge/jtds/main/安装中在modules下创建了WildFly文件夹结构,并添加了module.xml文件,但是Wildfly似乎并没有捡到它。
我也尝试过/modules/system/layers/base/文件夹,因为这是WildFly下的一个新文件夹,但这也不起作用,我也下载了最新的JTDS .JAR文件。
当我启动Wildfly时,我遇到的错误是:
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"]
}
}如果我运行/subsystem=datasources:installed-drivers-list uon jboss-cli.sh,它只显示默认安装的h2驱动程序,而不是JTDS驱动程序。
发布于 2017-02-23 22:06:29
首先,停止WildFly服务器。
然后更新standalone.xml文件以添加MS驱动程序详细信息和Datasource详细信息,如下所示:
<subsystem xmlns="urn:jboss:domain:datasources:4.0">
<datasources>
<datasource jta="true" jndi-name="java:/jdbc/speedtest-datasource" pool-name="MSSQLDSspeedTestDEV" enabled="true" use-ccm="true">
<connection-url>jdbc:jtds:sqlserver://serverName:1433;DatabaseName=dbName</connection-url>
<driver-class>net.sourceforge.jtds.jdbc.Driver</driver-class>
<driver>JTDS</driver>
<security>
<user-name>username</user-name>
<password>password</password>
</security>
<validation>
<valid-connection-checker class-name="org.jboss.jca.adapters.jdbc.extensions.mssql.MSSQLValidConnectionChecker"/>
<background-validation>true</background-validation>
</validation>
</datasource>
<drivers>
<driver name="JTDS" module="net.sourceforge">
<driver-class>net.sourceforge.jtds.jdbc.Driver</driver-class>
</driver>
</drivers>
</datasources>
</subsystem>用于MS : path : E:\Softwares\wildfly-10.1.0.Final\wildfly-10.1.0.Final\modules\system\layers\base\net\sourceforge\main (需要创建突出显示的目录结构并添加Module.xml和jtds-1.3.0.jar文件)。
(请注意,在本例中,我使用模块名作为"net.sourceforge“,并将文件夹结构路径创建为"net\sourceforge\main")。请注意,这是更重要的匹配目录路径和模块名称在模块,xml文件。
<?xml version="1.0" encoding="UTF-8"?>
<module xmlns="urn:jboss:module:1.0" name="net.sourceforge">
<resources>
<resource-root path="jtds-1.3.0.jar"/>
</resources>
<dependencies>
<module name="javax.api"/>
<module name="javax.transaction.api"/>
</dependencies>
</module>注:请注意,以上两个位置绿色显示的路径应该匹配(即module.xml中的目录结构和模块名称),
例如。如果您已经将目录结构创建为E:\Softwares\wildfly-10.1.0.Final\wildfly-10.1.0.Final\modules\system\layers\base\net\sourceforge\jtds\main,那么module.xml文件中的模块名应该是“net.sourceforge.jtds”,如下所示,在module.xml文件中
Module.xml:
<?xml version="1.0" encoding="UTF-8"?>
<module xmlns="urn:jboss:module:1.0" name="net.sourceforge.jtds">
<resources>
<resource-root path="jtds-1.3.0.jar"/>
</resources>
<dependencies>
<module name="javax.api"/>
<module name="javax.transaction.api"/>
</dependencies>
</module>现在保存这两个文件并重新启动wildFLY服务器。
https://stackoverflow.com/questions/20190703
复制相似问题