在 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文档安装和配置资源适配器。
我试图通过将通用组件添加到基础 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文档安装和配置资源适配器。