首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >WildFly (JBoss)下的JTDS模块

WildFly (JBoss)下的JTDS模块
EN

Stack Overflow用户
提问于 2013-11-25 11:10:10
回答 1查看 6K关注 0票数 2

我正忙着从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时,我遇到的错误是:

代码语言:javascript
复制
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驱动程序。

EN

回答 1

Stack Overflow用户

发布于 2017-02-23 22:06:29

首先,停止WildFly服务器。

然后更新standalone.xml文件以添加MS驱动程序详细信息和Datasource详细信息,如下所示:

代码语言:javascript
复制
<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文件。

代码语言:javascript
复制
<?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文件中

代码语言:javascript
复制
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服务器。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20190703

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档