当我们定义SDR频道等消息频道时,我们将MCATYPE作为PROCESS。因此,当消息进入传输队列时,进程将通过充当代理(MCA)来启动通道。
AMQ8414:显示频道详细信息。 CHANNEL(SYSTEM.DEF.SENDER)CHLTYPE(SDR) MCATYPE(PROCESS)
如果是这样,在MQI通道的情况下MCA是什么,通道如何开始让消息处理到应用程序端?
答案 0 :(得分:1)
MCATYPE有两个可能的值,PROCESS或THREAD。这告诉MQ产品如何运行通道,即是否将其作为PROCESS运行,即是runmqchl
进程,还是将其作为池进程的线程运行,即{{1}过程。这仅适用于出站信道,即启动或发起信道会话的信道。 (它也适用于集群接收器,仅用于从中构建集群发送器通道,集群接收器本身不使用该属性。)
对于入站渠道类型,它不适用。在入站通道的线程和进程之间进行选择的方法是使用普通的MQ Listener(这是推荐的方法),对于进程,使用amqrmppa
。
因此,对于MQI通道,即SVRCONN通道类型,它们将作为池进程的线程运行,除非您使用inetd
。通常不建议使用inetd
。
它们由监听进程(MQ侦听器或inetd
)启动,捕获套接字创建,并将其交给进程(inetd
或amqrmppa
)以接受和接收数据来自。
答案 1 :(得分:0)
MQI通道用于将客户端应用程序连接到队列管理器。当调用MQCONN / MQCONNX(或其他语言中的OO等效项,如C ++ / C#/ Java)API时,通道启动。
MQI通道属于SVRCONN类型。 MCATYPE对SVRCONN频道无效。它对发件人/服务器/请求/群集发送器/群集接收器通道类型有效。更多详情here。