是否可以在 Wildfly 中将数据源部署描述符与驱动程序模块一起使用?

2023-12-21

我无法使用“*-ds.xml”部署描述符以及作为模块安装的数据库驱动程序来配置我的数据源。 仅当我将数据库驱动程序直接部署为 jar 时,数据源 *-ds.xml 文件才有效。 我认为如果您选择将驱动程序安装为模块,则必须直接在standalone.xml 中配置数据源。 我想要解决方案驱动程序模块+部署描述符。


为了使您的模块对您的应用程序可见,您需要将该模块导入到您的应用程序中。您的应用程序的 WEB-INF 中需要 jboss-deployment-struct.xml,如下所示:

<?xml version="1.0"?>
<jboss-deployment-structure>
    <deployment>
        <dependencies>
            <module name="org.postgresql" services="export">
                <imports>
                    <include path="META-INF**"/>
                    <include path="org**"/> 
                    <!-- assuming package of the driver is org.something -->
                </imports>
            </module>
        </dependencies>
    </deployment>
</jboss-deployment-structure>

之后,模块和驱动程序应该对您的应用程序以及 *-ds.xml 可见。

这是在 *-ds.xml 中表示您想要使用模块中的驱动程序的方式:

<driver name="postgresql" module="org.postgresql">
  <xa-datasource-class>org.postgresql.xa.PGXADataSource</xa-datasource-class>
</driver>

(使用 postgresql 配置的示例,因为您似乎正在使用它)

编辑:使用以下作为 postgresql-ds.xml 对此进行了测试:

<datasources xmlns="http://www.jboss.org/ironjacamar/schema"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://www.jboss.org/ironjacamar/schema http://docs.jboss.org/ironjacamar/schema/datasources_1_1.xsd">
    <datasource jndi-name="java:jboss/datasources/PostgeSQLDB " pool-name="PostgreSQLPool">
        <connection-url>jdbc:postgresql://localhost:5432/example
        </connection-url>
        <driver>postgres</driver>
        <pool>
            <max-pool-size>30</max-pool-size>
        </pool>
        <security>
            <user-name>postgresql</user-name>
            <password>postgresql</password>
        </security>
    </datasource>
    <drivers>
        <driver name="postgresql" module="org.postgresql">
            <xa-datasource-class>org.postgresql.xa.PGXADataSource
            </xa-datasource-class>
        </driver>
    </drivers>
</datasources>

然而,Wildfly 10 给出了这样的结果:

20:17:22,895 WARN  [org.jboss.as.connector] (MSC service thread 1-2) WFLYJCA0091: -ds.xml file deployments are deprecated. Support
 may be removed in a future version.
20:17:23,058 WARN  [org.jboss.as.connector.deployer.dsdeployer] (MSC service thread 1-1) WFLYJCA0012: <drivers/> in standalone -ds
.xml deployments aren't supported: Ignoring my-spring-app.war

我也在 Wildfly 8.1 上进行了测试,消息是相同的。因此,似乎不支持在 -ds.xml 中部署数据源配置,您需要在standalone.xml 中创建它,并引用那里的模块。似乎证实了这一点。

该链接还表明您可以使用 .ear/.war 描述符定义数据源,无论如何,这可能更适合您的用例。我使用 .war 文件和 web.xml 创建了一个示例,位于here https://github.com/eis/wildfly-modules, and 这个答案说你可以对 .ears 做同样的事情 https://stackoverflow.com/a/16261491/365237。可以说它甚至比 -ds.xml 更好,因为它是一个标准。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

是否可以在 Wildfly 中将数据源部署描述符与驱动程序模块一起使用? 的相关文章

随机推荐

  • 将对象转换为 Angular 中的 json

    我正在尝试将对象转换为 json 在我的updateDetails方法但是我得到了undefined in console log转换后为json 这是怎么回事 我的鳕鱼是 HTML
  • 根据最近的先前日期匹配两个表之间的值的最有效方法是什么?

    我在 MS SQL Server 中有两个表 dailyt 其中包含每日数据 date val 2014 05 22 10 2014 05 21 9 5 2014 05 20 9 2014 05 19 8 2014 05 18 7 5 et
  • 如何从翻译的 .po 文件生成新的 .pot 模板

    从不完整的 gettext 开始 pot文件 结果 po翻译文件现在包含大量原本不在文件中的翻译字符串 pot file 我怎样才能向后生成 pot来自已翻译的其他语言的文件 带有空白翻译条目的字符串 po file 感谢您的帮助 你可以使
  • 如何最好地存储聊天机器人的数据?

    我在网上寻找chatbots 这只是有趣 但现在 我非常喜欢这个主题 所以我想开发自己的聊天机器人 但第一件事是寻找一种好方法来管理我的聊天机器人的 大脑 我认为将所有内容保存在 XML 文件中是最好的解决方案 不是吗 这样文件类型就清楚了
  • 检查 RSpec 中的 ActiveRecord 关联

    我正在学习如何使用 Rspec 编写测试用例 我有一个简单的帖子评论支架 其中帖子可以有很多评论 我正在使用 Rspec 对此进行测试 我应该如何检查Post has many comments 我应该存根吗Post comments方法
  • TFS SDK:查询昨天的构建

    我可以查询团队项目中的所有构建 如下所示 var bServer teamProjectCollection GetService
  • HTML imgalign=“middle”不对齐图像

    我想要图像居中对齐 图像大小以像素为单位固定 所以我想要的是这样的 我所做的是 img src http icons iconarchive com icons rokey popo emotions 128 big smile icon
  • sklearn 在 pycharm 和终端中“numpy.dtype 的大小错误,请尝试重新编译”

    编译Sci kit学习时 我在pycharm和终端中都得到 numpy dtype大小错误 尝试重新编译 我已经升级了所有包 numpy scikit 到最新 没有任何效果 Python 版本是 2 7 请帮忙 欣赏 checking fo
  • 如何在Python中运行/执行exe文件?

    我对 python 还是新手 我尝试运行 exe 使用 python 文件 我可以知道我应该使用和导入什么吗 import subprocess subprocess call C Temp a b c Notepad exe C test
  • Android NDK 发布版本

    我试图在发布模式下构建我的 android 项目 为了在发布模式下构建我的项目 是否需要设置任何优化标志 除非您已创建 Application mk 或将您的应用程序定义为可在 AndroidManifest xml 中调试 否则您无需执行
  • 仅在 MVC4 BundleConfig 中缩小脚本

    我在 BundleConfig 中添加以下 ScriptBundle bundles Add new ScriptBundle bundles javascript Include Scripts jquery 1 Scripts load
  • FluentValidation Autofac ValidatorFactory

    我需要能够提供IComponentContext to my ValidatorFactory解决 FluentValidation 验证器 我有点卡住了 验证器工厂 public class ValidatorFactory Valida
  • numpy IndexError:当用另一个矩阵索引矩阵时,数组索引太多

    我有一个这样创建的矩阵 gt gt gt a np matrix 1 2 3 4 5 6 7 8 9 10 11 12 我有一个我创建的矩阵标签 如下所示 gt gt gt labels np matrix 1 0 1 1 这两个矩阵如下所
  • 如何将应用程序窗口托管为属于另一个进程的窗口的子窗口?

    我想将一个应用程序窗口从进程 A 托管到进程 B 的主窗口中 就像 A 的窗口是 MDI 子窗口一样 这在 Windows 中可能吗 还是有一些技巧可以让我伪造这个 顺便说一句 当 A 窗口嵌入到 B 窗口中时 我想删除 A 窗口的标题栏
  • 添加多个UIWindow

    我在另一个 UIWIndow 上添加一个新的 UIWIndow 以显示视图 但它没有显示任何内容 并且屏幕变得有点模糊 这是代码 UIWindow topWindow UIWindow alloc initWithFrame UIScree
  • Java 反映方法作用域变量

    使用反射 您几乎可以获得与类相关的所有内容 您可以获得所有声明的方法 字段和类 甚至可能更多 但我找不到反映方法的方法 因此我可以找出该方法可能使用的类 本质上我想找出给定类所具有的对其他类的所有依赖关系 例子 给出以下代码 import
  • MFMailComposeViewController:取消不会退出到我的应用程序?

    我正在尝试使用 MFMailComposeViewController 发送邮件 当我单击应用程序上的按钮时就会发生这种情况 当然 当我单击邮件控制器的取消按钮时 我想返回到我的应用程序视图 但它不起作用 该怎么办 这是我的代码 MFMai
  • 无法使用docker访问Web服务器

    我使用以下命令来运行容器 docker run p 3333 3333 d maill node web app 这是 docker ps 的结果 CONTAINER ID IMAGE COMMAND CREATED STATUS PORT
  • 如何在 NetBeans 中添加 JAR

    假设您创建了一个新项目 并希望它使用一些第三方库 例如 widget jar 在哪里添加这个 JAR 文件 gt gt 项目属性 gt gt 库 gt gt 编译时库 or 文件 gt gt 项目属性 gt gt 库 gt gt 运行时库
  • 是否可以在 Wildfly 中将数据源部署描述符与驱动程序模块一起使用?

    我无法使用 ds xml 部署描述符以及作为模块安装的数据库驱动程序来配置我的数据源 仅当我将数据库驱动程序直接部署为 jar 时 数据源 ds xml 文件才有效 我认为如果您选择将驱动程序安装为模块 则必须直接在standalone x