Wildfly 14 Microsoft SQL 服务器配置

Wildfly 14 Microsoft SQL Server Configuration

我想在 Wildfly 14 中使用 MS SQL 服务器作为数据源,但我总是在控制台中收到以下错误:

ERROR [org.jboss.as.controller.management-operation] (ServerService Thread Pool -- 41) WFLYCTL0013: Operation ("add") failed - address: ([("subsystem" => "datasources"),("jdbc-driver" => "sqlserver")]) - failure description: "WFLYJCA0115: Module for driver [com.microsoft.sqlserver.jdbc] or one of it dependencies is missing: [com.microsoft.sqlserver.jdbc]"

我的配置如下:

standalone.xml

<drivers>
    <driver name="sqlserver" module="com.microsoft.sqlserver">
        <xa-datasource-class>com.microsoft.sqlserver.jdbc.SQLServerDriver</xa-datasource-class>
    </driver>
</drivers>

我还在下面的目录下配置了一个module.xml:wildfly-14.0.1.Final\modules\system\layers\base\com\microsoft\sqlserver\main。我也把sqljdbc42.jar放在里面了。

<module xmlns="urn:jboss:module:1.3" name="com.microsoft.sqlserver.jdbc">
    <resources>
        <resource-root path="sqljdbc42.jar"/>
    </resources>
    <dependencies>
        <module name="javax.api"/> 
        <module name="javax.transaction.api"/> 
    </dependencies>
</module>

使用 Wildfly 13 之前没有问题。

我相信您在 standalone.xml 中的 driver 配置仍然是错误的。

以下必须相同

在standalone.xml中:

<driver name="sqlserver" module="com.microsoft.sqlserver.jdbc">

在module.xml中:

<module xmlns="urn:jboss:module:1.3" name="com.microsoft.sqlserver.jdbc">

sqljdbc42.jarmodule.xml 的位置:

JBOSS_HOME\modules\com\microsoft\sqlserver\jdbc\main\

我也相信你用错了xa-datasource-class,这应该是:

com.microsoft.sqlserver.jdbc.SQLServerXADataSource

也可以看看 EAP7 Documentation。它应该是相同的 vor wildfly。 还有一个如何使用 CLI 的好例子。

将此添加到 <dependencies> 标签内的 module.xml

<module name="javax.xml.bind.api"/>