我们在开发ESB应用过程中,免不了建立一堆的队列管理器和队列通道,那么这些东西怎么才能提高可用性呢,建立集群是个不错的选择;
通常我们使用工具开发ESB应用时候,都会用到消息流,ESQL这些好用的工具,其实在消息流执行完成后通过ESQL设定的目标队列是收不到消息的,这个可以报出N多个形形色色的错误码,反正就是在消息流的开头多了个叹号,而且你发现消息仍然在初始的队列里,这是为什么呢?因为消息流只是一个逻辑的流程,要想让逻辑成立就必须要有实物来支撑,而MQ集群就是这个实物支撑啊,因为集群中是存在内部通道的,而且这些远程队列和本地队列都可以互通,所以消息流必须建立集群来进行测试。
集群建立很简单,就是完全存储库和部分存储库中吧队列管理器包含进来就可以了,这个是简单的这里不说了,通常我们建立使用集群的过程中有些常见的令人蛋疼的错误拿出来大家分享下:MQ集群建立后第一件要做的事情是进入队列管理器把队列的集群属性改一遍,要不然集群等于白建,接下来及时检查下集群的发送方通道是否正常启动,否则也是会出问题的,最后一个是说说集群建立时候不同的队列管理器中的CCSID chlAuth等属性要统一否则仍然走不通消息的,拉了一个就是集群的完全存储库中的队列管理器的选择问题初学时候很是纠结为什么TNND就选择了这个队列管理器而不是那个队列管理器呢,纠结三五天是正常的,我今天下午花了两个小时实验了一下,这个完全存储库的队列管理器选谁都可一个效果一样,小伙伴们不要纠结了,哈哈。
下面说说消息流开发中的常见错误:初始节点MQINPUT :队列名和解析器根据自己的环境进行设置默认的或没设置就会报错
变换节点:里面计算方式要选择【LocalEnviroment和消息】
结尾节点MQOUTPUT:高级属性 目标方式选择【目标列表】
其他的默认也不会影响消息流转的。