Java 如何通过ActiveMQ服务器使用webheremq服务器,需要记住什么?

Java 如何通过ActiveMQ服务器使用webheremq服务器,需要记住什么?,java,jms,activemq,ibm-mq,Java,Jms,Activemq,Ibm Mq,我们需要连接到由外部控制的IBM Websphere MQ服务器提供的JMS队列。现在,最简单的方法是将WebSphereMQ客户机包括到我们的应用程序中,然后只使用队列 但是IBM到目前为止还不能告诉我这个设置可能的许可成本。我在IBM下载页面上看到论坛帖子和提示,说使用客户端是免费的,但我不确定。甚至可能是这样,MQ服务器的所有者被允许向我们提供客户机jar,以使用它连接到他们,但我也不确定 因此,我正在评估是否有可能设置自己的开源JMS服务器,例如ApacheActiveMQ,然后桥接到W

我们需要连接到由外部控制的IBM Websphere MQ服务器提供的JMS队列。现在,最简单的方法是将WebSphereMQ客户机包括到我们的应用程序中,然后只使用队列

但是IBM到目前为止还不能告诉我这个设置可能的许可成本。我在IBM下载页面上看到论坛帖子和提示,说使用客户端是免费的,但我不确定。甚至可能是这样,MQ服务器的所有者被允许向我们提供客户机jar,以使用它连接到他们,但我也不确定

因此,我正在评估是否有可能设置自己的开源JMS服务器,例如ApacheActiveMQ,然后桥接到WebSphereMQ。为此,我提出了两个问题:

技术解决方案:具体怎么做?我读了一些关于JMS提供者之间的桥接和ApacheCamel项目的内容,但到目前为止还不知道这将需要做多少工作以及需要做什么。 影响:在实施这样一个场景时,我应该记住什么?我是否仍然必须包括MQ客户端,而这样的客户端在直接连接上不会受益?有没有负面影响相比,直接连接,我必须考虑? 更新:我们的应用程序是运行在JBoss7.1上的JavaEE6应用程序。关于MQ服务器版本,我还没有任何信息


第二次更新:MQ服务器版本为6.5。

WebSphere MQ客户端没有许可费。唯一的费用,我认为他们取消了这一项,应该是XA客户机的费用。客户端下载应该随JMS客户端一起提供,这与Java中的Java原生IBM API客户端不同。安装客户机时,只需检查以确保有/java/,它将包含连接到IBM MQ的所有依赖JAR

我强烈建议使用ApacheCamel作为您的桥梁,而不是创建自己的桥梁。然后,您可以选择在ActiveMQ JVM或其他受支持的容器内运行驼峰路由。大部分工作将是第一次学习如何做。一旦设置好它,您就会意识到ApacheCamel的时间节约和功能

无论您需要什么MQ客户端。MQ服务器包括MQ客户机,因此,如果所有这些都在同一台主机上,您就没有其他要安装的了。如果直接连接指的是绑定模式与客户端模式,那么是的,绑定模式总是最有效的。另一方面,如果在代理中运行路由,则可以利用VM传输


在ActiveMQ和WebSphere MQ之间进行消息桥接时,您需要考虑的主要问题实际上是典型的消息传递问题。例如,你是否需要这些信息才能在舞台外生存?如果是这样,那么考虑使用本地路由与您的路由。 WebSphere MQ客户端没有许可费。唯一的费用,我认为他们取消了这一项,应该是XA客户机的费用。客户端下载应该随JMS客户端一起提供,这与Java中的Java原生IBM API客户端不同。安装客户机时,只需检查以确保有/java/,它将包含连接到IBM MQ的所有依赖JAR

我强烈建议使用ApacheCamel作为您的桥梁,而不是创建自己的桥梁。然后,您可以选择在ActiveMQ JVM或其他受支持的容器内运行驼峰路由。大部分工作将是第一次学习如何做。一旦设置好它,您就会意识到ApacheCamel的时间节约和功能

无论您需要什么MQ客户端。MQ服务器包括MQ客户机,因此,如果所有这些都在同一台主机上,您就没有其他要安装的了。如果直接连接指的是绑定模式与客户端模式,那么是的,绑定模式总是最有效的。另一方面,如果在代理中运行路由,则可以利用VM传输


在ActiveMQ和WebSphere MQ之间进行消息桥接时,您需要考虑的主要问题实际上是典型的消息传递问题。例如,你是否需要这些信息才能在舞台外生存?如果是这样,那么考虑使用本地路由与您的路由。 MQ客户端可供您使用;有一个许可协议,可以接受而不是收费。 对于这些客户机库如何实际使用,有几种选择

您提到正在使用JMS—这是在什么容器/环境中?JavaSE/JavaEE/OSGi或其他东西

JavaSE或“其他东西”将用于JMS客户机jar。 JavaEE需要IBM MQ资源适配器 OSGi需要OSGi包 在MQ的早期版本中,有一个“扩展跨国客户机”,其相关费用与完整服务器几乎相同,但仅此而已

因为这是针对JBoss7.1的,所以解决方案是遵循这个lin K

。。并直接从那里的说明下载IBM MQ资源适配器。。。7.5.0.4上周也发布了。请考虑这是因为下载MQCXXX支持PAC会给你太多。此下载确实有许可协议可接受,但与其他地方突出显示的相同。它确实提到了Liberty,但它与JBOSS中支持的RA相同

有关在JBOSS中配置RA的信息,请参阅

RA或JMS客户机代码的版本与服务器版本不紧密耦合。客户端或绑定

除了通过网络,您将没有任何支持;除非你让公司运行外部控制的服务器来提升它


编辑:添加了下载链接,MQ的客户端可供您使用;有一个许可协议,可以接受而不是收费。 对于这些客户机库如何实际使用,有几种选择

您提到正在使用JMS—这是在什么容器/环境中?JavaSE/JavaEE/OSGi或其他东西

JavaSE或“其他东西”将用于JMS客户机jar。 JavaEE需要IBM MQ资源适配器 OSGi需要OSGi包 在MQ的早期版本中,有一个“扩展跨国客户机”,其相关费用与完整服务器几乎相同,但仅此而已

因为这是针对JBoss7.1的,所以解决方案是遵循这个链接

。。并直接从那里的说明下载IBM MQ资源适配器。。。7.5.0.4上周也发布了。请考虑这是因为下载MQCXXX支持PAC会给你太多。此下载确实有许可协议可接受,但与其他地方突出显示的相同。它确实提到了Liberty,但它与JBOSS中支持的RA相同

有关在JBOSS中配置RA的信息,请参阅

RA或JMS客户机代码的版本与服务器版本不紧密耦合。客户端或绑定

除了通过网络,您将没有任何支持;除非你让公司运行外部控制的服务器来提升它

编辑:添加了从该站点粘贴的下载链接

类别3 WebSphere MQ SupportPac根据国际计划许可协议IPLA提供的标准条款和条件提供,因此,为WebSphere MQ客户提供计划缺陷服务。请阅读SupportPac附带的IPLA和LI文件,以确保您了解提供SupportPac的条件

如果您认为SupportPac存在缺陷,并且您拥有WebSphere MQ server产品的当前许可证,您可以通过使用SupportPac的WebSphere MQ server产品所使用的相同缺陷报告渠道报告问题,请求程序服务。使用此SupportPac不需要权利证明

只要该服务支持WebSphere MQ v7.5服务器产品,该服务就可用于此SupportPac的v7.5版本。有关服务信息,请参阅WebSphere产品生命周期页面。它仅在MQ平台上受支持,而MQ平台本身也受支持

我认为粗体文本表示MQ客户机是免费的。

从这里粘贴

类别3 WebSphere MQ SupportPac根据国际计划许可协议IPLA提供的标准条款和条件提供,因此,为WebSphere MQ客户提供计划缺陷服务。请阅读SupportPac附带的IPLA和LI文件,以确保您了解提供SupportPac的条件

如果您认为SupportPac存在缺陷,并且您拥有WebSphere MQ server产品的当前许可证,您可以通过使用SupportPac的WebSphere MQ server产品所使用的相同缺陷报告渠道报告问题,请求程序服务。使用此SupportPac不需要权利证明

只要该服务支持WebSphere MQ v7.5服务器产品,该服务就可用于此SupportPac的v7.5版本。有关服务信息,请参阅WebSphere产品生命周期页面。它仅在MQ平台上受支持,而MQ平台本身也受支持


我认为粗体文本表示MQ客户端是免费的。

将ActiveMQ代理与WebSphere MQ队列管理器桥接需要与直接连接相同的客户端库

您是对的,您可以非常轻松地使用ActiveMQ附带的,来设置这样一个网桥

使用本地代理作为缓冲区的一个可能好处是,您的应用程序可以依赖由您启动和控制的代理。远程/外部控制
led WebSphere MQ可能会因维护而关闭。外部各方或网络可能不稳定。当然您的应用程序可以使用逻辑和重新调度的传输来处理这些事情,但在ActiveMQ中设置驼峰路由来完成这一任务并将您的逻辑集中在应用程序中以完成业务逻辑要容易得多。

将ActiveMQ代理与WebSphere MQ队列管理器桥接需要与直接连接相同的客户端库

您是对的,您可以非常轻松地使用ActiveMQ附带的,来设置这样一个网桥


使用本地代理作为缓冲区的一个可能好处是,您的应用程序可以依赖由您启动和控制的代理。远程/外部控制的WebSphere MQ可能会关闭以进行维护。外部各方或网络可能不稳定。当然,您的应用程序可以使用逻辑和重新调度的传输来处理这些事情,但在ActiveMQ中设置驼峰路由来实现这一点并将您的逻辑集中在应用程序中以实现业务逻辑要容易得多。

我也听说MQ客户端是免费的,但您有官方的消息来源吗?但是,当试图在IBM网站上找到这一点时,例如,他们说WebSphere MQ的所有许可用户都可以免费使用,而我不是。Shashi在他的回答中发布的内容也是我也会发布的内容。IBM将付费使用的东西很好地锁定起来。只有您组织的特定成员才有权下载任何非免费内容。但我必须问,谁拥有您要桥接的WMQ服务器?如果没有人为MQ服务器付费让该客户机连接到MQ服务器,那么拥有MQ客户机是没有意义的,这正是IBM真正关心的。该服务器由另一家公司所有,并且肯定获得了许可。他们通过MQ队列或主题向其他几个人提供信息,因此我们是他们使用它的客户之一。我也听说MQ客户机Being是免费的,但你有官方来源吗?但是,当试图在IBM网站上找到这一点时,例如,他们说WebSphere MQ的所有许可用户都可以免费使用,而我不是。Shashi在他的回答中发布的内容也是我也会发布的内容。IBM将付费使用的东西很好地锁定起来。只有您组织的特定成员才有权下载任何非免费内容。但我必须问,谁拥有您要桥接的WMQ服务器?如果没有人为MQ服务器付费让该客户机连接到MQ服务器,那么拥有MQ客户机是没有意义的,这正是IBM真正关心的。该服务器由另一家公司所有,并且肯定获得了许可。他们通过MQ队列或主题向其他几个人提供信息,所以我们是他们使用它的客户之一。你是对的,没有提到这一点,我更新了我的答案。尽管如此,Erik的回答也是如此-我需要一些官方声明,以确保关于许可成本的建议。添加了另一个更新:MQ版本不是最新版本-这是否会影响您的解决方案或您提到的扩展客户端?一点也不;通过我提到的链接下载7.5版本的资源适配器。这可以连接到所有服务中的QueueManager 7.0、7.1、7.5和8.0。MQ v6现在不受支持,但7.5 RA仍可以在需要时连接。不必担心7.5版本的扩展客户机。该功能已包含在主代码行中-也就是说,它是一个标准功能。你是对的,没有提到这一点,我更新了我的答案。尽管如此,Erik的回答也是如此-我需要一些官方声明,以确保关于许可成本的建议。添加了另一个更新:MQ版本不是最新版本-这是否会影响您的解决方案或您提到的扩展客户端?一点也不;通过我提到的链接下载7.5版本的资源适配器。这可以连接到所有服务中的QueueManager 7.0、7.1、7.5和8.0。MQ v6现在不受支持,但7.5 RA仍可以在需要时连接。不必担心7.5级的扩展客户机。该功能已包含在主代码行中,也就是说,它是一个标准功能。