之前项目一直使用的是ActiveMQ,突然要变更成IBMMQ,整理了一些搭建MQ和代码连接MQ是遇到的问题,记录一下。
(1)三个系统之内部使用IBMMQ交互,所以应设立两个本地接收队列和两个发送队列,接收和发送队列是通过设置队列的属性来区分的,属性为正常位置在本地的是接收队列,属性为传输位置在远程的是发送对列。
(2)消息是通过通道进行传输的,所以需要建立两条通道,对应在本地建立两个位置为本地属性为传输的两条传输对列,用来将本地对列和接收方的接受对了以及对应的通道连接起来。
(4)发送时,消息会放到位置为本地属性为传输的队列中,等待发送,如果通道正常运行,发送的消息会马上放到对方的接收队列,对方的接收队列的对垒深度会增加,消费消息后会减去,如果通道不通,则发送方本地属性为传输的队列的队列深度增加。
如果通道不通,首先查看配置的发送方的传输对列和接收方的接收队列以及接收方的队列管理器是否一样,其次查看通道的IP和端口是否正确,IP为安装IBMMQ服务器的真实IP,映射IP不好使,端口每个队列管理器有不同的端口,用于内部发送。
代码连接MQ需要IP、端口、队列管理器、通道、接收队列、发送队列。
(1)IP是安装IBMMQ服务器的电脑IP。
(2)端口是用来外部链接MQ的端口,注意和内部要区分出来。
(3)通道只需要服务器通道即可。