Monday, April 20, 2009

IBM Websphere MQ Processes

IBM Websphere MQ Processes

Processes AMQMTRBN . amqhasmn.exe - the logger. amqmsrvn.exe - COM server. amqmtbrn.exe - . amqpcsea.exe - the command server. amqrmppa.exe - channel process. amqrrmfa.exe - repository process (for clusters). amqsvc.exe - . amqxssvn.exe - shared memory server(s). amqzdmaa.exe - deferred message processor.amqzfuma.exe - OAM process. amqzlaa0.exe - queue manager agents (LQM agents). amqzllp0.exe - checkpoint processor. amqzxma0.exe - processing controller. runmqchi.exe - channel initiator. runmqlsr.exe - listener.


Description of MQ tasks :When a queue manager is running, you see some or all of the following batch jobs running under the QMQM user profile in the MQ subsystem.Job name Function AMQALMPX The checkpoint processor that periodically takes journal checkpoints. AMQCLMAA Non-threaded TCP/IP listener. AMQCRSTA TCP/IP-invoked channel responder. AMQCRS6B LU62 receiver channel and client connection (see note). AMQFCXBA Broker worker job. AMQPCSEA PCF command processor. Handles PCF and remote administration requests. AMQRMPPA Channel process pooling job. AMQRRMFA Repository manager for clusters. AMQZDMAA Deferred message handler. AMQZFUMA Object authority manager (OAM). AMQZLAA0 Queue manager agents that perform the bulk of the work for applications that connect to the queue manager using MQCNO_STANDARD_BINDING. AMQZLAS0 Queue manager agent. AMQZXMA0 The execution controller is the first job started by the queue manager. Deals with MQCONN requests. Starts agent processes to process MQ API calls. AMQZMGR0 Process controller. Used to start up and manage listeners and services. AMQZMUC0 Utility manager. Do critical utilities, as the journal chain manager. AMQZMUR0 Utility manager. Do critical utilities, as the journal chain manager. RUNMQBRK Broker control job. RUNMQCHI The channel initiator. RUNMQCHL Sender channel job that is started for each sender channel. RUNMQDLQ Dead letter queue handler. RUNMQLSR Threaded TCP/IP listener. RUNMQTRM Trigger monitor.End the processes in the following order:amqzmuc0 Critical process manager amqzxma0 Execution controller amqzfuma OAM process amqzlaa0 LQM agents amqzlsa0 LQM agents amqzmur0 Restartable process manager amqrmppa Process pooling process amqrrmfa The repository process (for clusters) amqzdmaa Deferred message processor amqpcsea The command server
Posted by Block for Websphere MQ at 4:08 AM 0 comments
Labels:

What is Channel?
A channel is a communication link used by distributed queue managers. There are two categories of channel in MQ: Message channels, which are unidirectional, and transfer messages from one queue manager to another. MQI channels, which are bidirectional, and transfer MQI calls from a MQ client to a queue manager, and responses from a queue manager to a MQ client. There are two types of MQI channel : server-connection and client-connection. MQ 6.0, "Application Programming Guide", SC34-6595-01, page 45 [65/601] The definition of each end of a message channel can be one of the following types: Sender Receiver Server Requester Cluster sender Cluster receiver Do not confuse message channels with MQI channels. There are two types of MQI channel : server-connection and client-connection. A message channel is defined using one of these types defined at one end, and a compatible type at the other end. Possible combinations are: Sender - Receiver Requester - Server Requester - Sender (callback) Server - Receiver (server is used as a sender) Client-connection with Server-connection Cluster sender-cluster receiver MQ v 6.0, "Intercommunication", SC34-6587, page 8 [30/573]. Server / Requester use Supose we have this environment, where firewall prevents QM2 to start a normal Sender-Receiver channel from QM2.TO.QM1, but not TCP connections from QM1 to QM2. .-----. .---. .-----. QM1 <===== F <======= QM2 .-----. .---. .-----. We shall use a SERVER channel at QM2 and a REQUESTER channel at QM1. In this way, the data can flow from QM2 to QM1, and the channel is started from QM1. SVRCONN A server connection channel object defines the name of a channel that a client can use to connect to a queue manager and the attributes of the MCA that hosts that connection. CLNTCONN This is different to all other channel types, because it is never used by the queue manager itself. Instead, an entry is added to a client channel definition table (CCDT) file, which can be distributed to other machines and used by client applications to configure their MCAs. How to start A channel can be caused to start transmitting messages in one of four ways. It can be: Started by an operator (not receiver, cluster-receiver or server-connection channels). Triggered from the transmission queue (sender, and fully-qualified server channels only). You will need to prepare the necessary objects for triggering channels. Started from an application program (not receiver, cluster-receiver or server-connection channels). Started remotely from the network by a sender, cluster-sender, requester, server, or client-connection channel. Receiver, cluster-receiver and possibly server and requester channel transmissions, are started this way; so are server-connection channels. The channels themselves must already be started (that is, enabled). In Windows systems, start a listener as a background process at the receiver end of each channel. On the source queue manager, type: runmqlsr -t TCP -m source.queue.manager On the target queue manager, type: runmqlsr -t TCP -m target.queue.manager Then start the channels, again as background processes: On the source queue manager, type: runmqchl -c source.to.target -m source.queue.manager On the target queue manager, type: runmqchl -c target.to.source -m target.queue.manager System Administration, page 63 [87 of 567] Auto-Magic If you want the first message put in the queue DESA4 to start the associated transmit channel DESA3.DESA4, then define the queue this way : def ql(DESA4) usage(xmitq) maxmsgl(104857600) + trigger TRIGTYPE(EVERY) TRIGDPTH(1) + trigdata(DESA3.DESA4) + /* channel name */ initq(SYSTEM.CHANNEL.INITQ) replace /* mandatory */ The TrigData attribute must contain the name of the channel to be triggered. The InitQ must be SYSTEM.CHANNEL.INITQ

No comments:

Post a Comment