在 JBoss EAP 6 中将 WMQ 资源适配器部署为模块

deploy WMQ resource adapter as a module in JBoss EAP 6

我试图通过将通用组件添加到基础 EAP 6 安装目录(例如 ojdbc 驱动程序)来简化 JBoss EAP 6 应用程序的配置。

对于 WMQ JCA 资源适配器,如果我将“wmq.jmsra.rar”存档放在“deployments'文件夹。我只需要根据官方文档配置 standalone.xml 文件的 resource-adapters 部分即可。

现在,是否可以创建一个 JBoss 模块并通过“global-modules”部分包含它?我尝试使用资源根 wmq.jmsra.rar 创建模块 wmq.ra,但模块无法加载。

我可能已经找到了我要找的答案。关于 Active MQ here and here 的类似问题,我 运行 进入 post。对于 WMQ,我遵循了相同的 canvas:

  • 解压模块目录中的 wmq.jmsra.rar(例如 modules/wmq/jmsra/main/
  • 为您的模块创建一个 module.xml 描述符
    • 这个对我来说适用于 WMQ 7.5.0.3。当一些依赖项丢失时我遇到了问题
<?xml version="1.0" encoding="UTF-8"?>
<module xmlns="urn:jboss:module:1.1" name="wmq.jmsra">
    <resources>
        <resource-root path="."/>
        <resource-root path="com.ibm.mq.commonservices.jar"/>
        <resource-root path="com.ibm.mq.connector.jar"/>
        <resource-root path="com.ibm.mq.headers.jar"/>
        <resource-root path="com.ibm.mq.jar"/>
        <resource-root path="com.ibm.mq.jmqi.jar"/>
        <resource-root path="com.ibm.mq.jmqi.local.jar"/>
        <resource-root path="com.ibm.mq.jmqi.remote.jar"/>
        <resource-root path="com.ibm.mq.jmqi.system.jar"/>
        <resource-root path="com.ibm.mq.jms.admin.jar"/>
        <resource-root path="com.ibm.mq.pcf.jar"/>
        <resource-root path="com.ibm.mqjms.jar"/>
        <resource-root path="com.ibm.msg.client.commonservices.j2se.jar"/>
        <resource-root path="com.ibm.msg.client.commonservices.jar"/>
        <resource-root path="com.ibm.msg.client.jms.internal.jar"/>
        <resource-root path="com.ibm.msg.client.jms.jar"/>
        <resource-root path="com.ibm.msg.client.matchspace.jar"/>
        <resource-root path="com.ibm.msg.client.provider.jar"/>
        <resource-root path="com.ibm.msg.client.ref.jar"/>
        <resource-root path="com.ibm.msg.client.wmq.common.jar"/>
        <resource-root path="com.ibm.msg.client.wmq.factories.jar"/>
        <resource-root path="com.ibm.msg.client.wmq.jar"/>
        <resource-root path="com.ibm.msg.client.wmq.v6.jar"/>
        <resource-root path="dhbcore.jar"/>
    </resources>
    <dependencies>
        <module name="javax.api"/>
        <module name="javax.resource.api"/>
        <module name="javax.jms.api"/>
        <module name="javax.management.j2ee.api"/>
    </dependencies>
</module>
  • standalone.xml
  • 中的常用方式导入您的模块

我没有在生产环境中完全验证这个解决方案,如果需要我会更新。

您可以参考EAP6 and WebSphere MQ Integration文档安装和配置资源适配器。