【发布时间】:2011-07-22 03:44:56
【问题描述】:
所有文档和信息都表明,我们必须在要使用它的机器上安装 MQ 系列客户端。
有没有人知道一个 DLL(或其他)允许我们在一个 不需要本地安装的 .net 项目中包含 MQ 系列支持?
【问题讨论】:
-
我希望有人能找到解决方案! :) 我还没有(还) :-(
所有文档和信息都表明,我们必须在要使用它的机器上安装 MQ 系列客户端。
有没有人知道一个 DLL(或其他)允许我们在一个 不需要本地安装的 .net 项目中包含 MQ 系列支持?
【问题讨论】:
更新了官方IBM MQ Redistributable Client的信息。
摘录:
来自 IBM MQ 版本 8.0.0,Fix Pack 4,本机可再发行客户端 为 Linux x86-64 和 Windows 64 位提供运行时库 平台使分发应用程序和 所需的 IBM MQ 运行时库。第三个包,不是 特定于平台的,包含所需的运行时文件 Java™/JMS 应用程序,包括 IBM MQ 资源适配器 在应用服务器下运行的 JMS 应用程序。
随 IBM MQ 提供的可再分发客户端也是 未安装和可重定位的图像。维护一个可再分发的, 非安装镜像,通过替换实现;那是你 下载更新版本的运行时组件 已发货。
可再分发客户端意味着分发所需的运行时间 在您的环境内部和外部使用应用程序。
可重定位客户端意味着将文件放在其他位置 而不是固定的默认位置。例如,而不是安装到 /opt/ 安装到 /usr/local。
未安装的客户端意味着您不需要放下 客户端文件,并且可以根据需要复制这些文件。
IBM IPLA 许可协议针对 IBM MQ 进行了扩展,使您能够 从Fix Central下载一些额外的运行时文件。
从 IBM MQ 版本 9.0.5 开始,XMS .NET 作为 可再发行客户端的一部分。 XMS .NET 需要 IBM MQ .NET 客户端(amqmdnet.dll)。如果要使用非托管模式,那么 IBM 还需要 MQ C 客户端库以及 amqmdnet.dll。
另请参阅 Redistributable clients on Windows 页面,该页面解释了如何生成用于重新分发的包,并指出“IBM 支持人员只能为可重新分发的客户端包中包含的完整、未修改的文件集提供帮助。”本页讨论了在不需要管理员权限即可安装的软件中分发库的方法。
您需要一个 IBM ID 才能从 Fix Central 下载可再分发的 MQ 客户端,但下载是免费的,并且在连接到受支持的 MQ 服务器实例时,完全支持按照 IBM 的说明打包。
之前接受的 Java 库包装器答案仍然有效,但同样需要注意 - 如果需要 IBM 支持,则需要安装 IBM 的 Java 客户端。幸运的是,这现在也包含在一个更友好的单 jar 包中,称为 allclient.jar,它是 documented here。 IBM 现在还记录了哪些 jar 文件可以从 MQ 服务器安装中重新定位,并且仍然有资格获得全面支持。这在What is installed for IBM MQ classes for JMS 页面上进行了讨论。
【讨论】:
从 WMQ bin 文件夹中获取 2 个 dll:amqmdnet.dll amqmdxcs.dll
我发现对于 WMQ 7.5,您需要在 GAC 中注册 2 个 dll 才能使其正常工作。您需要管理员权限才能注册它们。
引用项目中的库以使用本机 WMQ 对象
【讨论】:
【讨论】:
我使用的是 .NET (C#),我只需要两个 dll,您可以从 IBM 客户端安装目录中获取它们。
amqmdnet.dll amqmdxcs.dll
然后在您的 .NET 代码中(如果您使用的是 .NET) 使用 IBM.WMQ;
【讨论】:
amqmdnetstd.dll 和 amqmxmsstd.dll,参见 Installing IBM MQ classes for .NET Standard 和 Using XMS with Microsoft .NET Core。
好的,我们有结果了。
在不需要本地安装的 Java JMS 库周围使用 .net 包装器。
HTH
【讨论】: