如何让WebSphere MQ与ActiveMQ能在ServiceMix中进行通信
文章介绍
在企业应用集成中,使用最多的消息中间件主要有商业消息中间件WebSphere MQ和开源消息中间件ActiveMQ。因此会涉及到这两个消息中间件在企业应用集成中如何通信交互的问题。本文简要介绍了如何让WebSphere MQ与ActiveMQ能在ServiceMix中进行通信。先介绍了一个有针对性的应用场景,接着介绍了该应用场景的架构图,最后描述了运行效果。
使用场景
为了演示该功能,我们假设了一个很简单的使用场景。ActiveMQ的客户端先将消息发送到队列A上,接着该消息经过ServiceMix路由到WebSphere MQ的队列B上,最后监听队列B的WebSphere MQ客户端接收该消息。
架构图
运行效果
1.发送消息之前
在ActiveMQ客户端Sender发送消息之前的WebSphere MQ客户端Receiver的队列QOut深度为0,说明还没有消息发送到队列QOut上。
2.ActiveMQ客户端开始发送消息
ActiveMQ客户端Sender发送5条消息。
3.观察WebSphere MQ的队列深度
之后,WebSphere MQ客户端Receiver的队列深度为5,说明WebSphere MQ已经接收到由ServiceMix路由的5条消息。
4.查看WebSphere MQ队列上的消息
可以查看WebSphere MQ客户端Receiver的队列QOut中的消息,一共5条。
5.WebSphere MQ客户端Receiver接收消息
最后WebSphere MQ客户端Receiver接收这些消息。
结束语
本文简单地演示了WebSphere MQ与ActiveMQ在ServiceMix中的通信,其中是通过servicemix-jms绑定组件分别将WebSphere MQ和ActiveMQ的客户端连接到ServiceMix上的。另外通过Camel也可以直接让WebSphere MQ和ActiveMQ进行通信。