3

服务器启动错误信息是:

16:08:37,829 ERROR [org.jboss.as.controller.management-operation] (ServerService
 Thread Pool -- 27) JBAS014613: Operation ("add") failed - address: ([
    ("subsystem" => "datasources"),
    ("jdbc-driver" => "firebird")
]) - failure description: "JBAS010441: Failed to load module for driver [org.fir
ebirdsql]"

module.xml的内容:

<?xml version="1.0" encoding="UTF-8"?>
<module xmlns="urn:jboss:module:1.3" name="org.firebirdsql">
  <resources>
    <resource-root path="jaybird-2.2.5.jar"/>
  </resources>
  <dependencies>
    <module name="javax.api"/>
    <module name="javax.resource"/>
    <module name="javax.transaction.api"/>
  </dependencies>
</module>

Standalone.xml中的驱动程序定义:

<driver name="firebird" module="org.firebirdsql">
  <driver-class>org.firebirdsql.jdbc.FBDriver</driver-class>
</driver>

(基于http://masterjboss.blogspot.de/2014/03/how-to-configure-mysql-jdbc-driver-in.html

一个类似的问题(没有接受的答案):Db2 Driver/Datasource setup on wildfly: Failed to load module for driver [com.ibm]

4

2 回答 2

4

在依赖项部分替换<module name="javax.resource"/>为。<module name="javax.resource.api"/>

于 2014-08-25T10:36:44.813 回答
1

我已经安装了 WildFly 8.1 并在下面添加了模块:

<wildfly-root>\modules\org\firebirdsql\main\
                                            module.xml
                                            jaybird-2.2.5.jar

请注意,这与您链接到的教程中使用的位置不匹配。本教程 - 错误地 - 将用户模块放在modules\system\layers\base而不是modules\,但是当我将模块放在那里时,它也可以正常工作。

我的module.xml定义有内容:

<?xml version="1.0" encoding="UTF-8"?>
<module xmlns="urn:jboss:module:1.0" name="org.firebirdsql">
  <resources>
    <resource-root path="jaybird-2.2.5.jar"/>
  </resources>
  <dependencies>
    <module name="javax.api"/>
    <module name="javax.transaction.api"/>
    <module name="javax.resource.api"/>
  </dependencies>
</module>

standalone.xml我完全按照您发布的方式添加了驱动程序条目。然后在管理控制台中添加一个数据源,并测试连接。

这行得通。我之前在评论中认为由于 Web 配置文件不包括资源连接器而对您不起作用的理论似乎是错误的。当 WildFly 在 Java 7 上运行时,我还使用 Java 8 版本的 Jaybird 进行了测试,但这给出了UnsupportedClassVersionError预期的结果。

我能够在您的问题中得到错误的唯一方法是故意放错模块(例如完全删除它,文件夹名称中有拼写错误,或者将它放在错误的位置)。我建议您仔细检查您的模块位置(见上文)。


有关您的特定问题的解决方案,请参阅asohun 的答案。我将保留此答案,因为它包含正确的配置和产生相同错误的替代故障模式。

于 2014-08-25T08:16:09.880 回答