【问题标题】:Connecting to IBM MQ without any IBM dependency jars from java client从 Java 客户端连接到 IBM MQ,无需任何 IBM 依赖项 jar
【发布时间】:2020-04-21 16:31:33
【问题描述】:

是否可以在不使用任何 IBM 依赖项 jar 文件的情况下连接到 IBM MQ 并将消息读/写到队列。例如,我想编写纯 JMS 代码来连接 IBM MQ,这种情况下我还需要 IBM jars 来连接吗?我假设我们仍然需要 IBM 客户端 jars?请验证我的理解。

基本上我想使用没有任何 IBM jar 的 java 客户端连接到 IBM MQ。任何帮助将不胜感激。

【问题讨论】:

  • 基本上,这是不可能的。但是你为什么要这样做呢?如果我们能理解为什么会有不同的解决方案。
  • 我只是想避免对ibm jars的依赖..所以如果服务器升级,不必升级客户端jars..

标签: java jms ibm-mq


【解决方案1】:

不可能,因为只有 IBM MQ JMS jar 知道如何与 IBM MQ 队列管理器通信以及放置/获取消息。问题是您为什么不想使用 IBM MQ jar?

JMS 只是一个规范,而不是一个实现,就像 TCP 规范一样。 JMS API 的实际实现由供应商提供,例如 IBM、Oracle。 JMS API 实现是特定于供应商的,这意味着 IBM MQ JMS API 实现仅适用于 IBM MQ,而不适用于任何其他 JMS 提供者。

【讨论】:

【解决方案2】:

你说“如果服务器升级,我不想升级客户端 jars”。

你很幸运。具有匹配的客户端和服务器端版本的要求为零。现在选择一个版本并继续使用它。如果您需要在比您正在使用的新版本的 jar 中添加的功能,您只需要升级客户端 jar。

这种从任意版本到任意版本的客户端/服务器协议一直是 IBM MQ 实现的强项。

【讨论】:

  • Morag,您不建议至少保持在受支持的版本吗?
  • 保持在受支持的版本是一个有价值的目标,但这无益地违背了不必升级客户端 jar 的 OP 要求。
  • 有了可重定位的com.ibm.mq.allclient.jar,它使得更新比以前容易多了。随着缺陷和改进的数量,fixpack 超过 fixpack 和版本超过版本,没有人应该希望停留在不受支持的客户端版本上。
  • 同意@JoshMc :-)
猜你喜欢
  • 2021-01-02
  • 2022-11-08
  • 2013-03-28
  • 1970-01-01
  • 2011-03-04
  • 2011-02-09
  • 1970-01-01
  • 2019-03-17
  • 1970-01-01
相关资源
最近更新 更多