Skip to main content

WebSphere MQ Triggering Q&A


What is Triggering?
Ans: Web Sphere MQ enables you to start an application automatically when certain conditions on a queue are met. For example, you might want to start an application when the number of messages on a queue reaches a specified number. This facility is called triggering

How many ways of Triggering?
EVERY:
A trigger event occurs every time that a message arrives on the application queue. Use this type of trigger if you want a serving program to process only one message, then end.

FIRST: A trigger event occurs only when the number of messages on the application queue changes from zero to one. Use this type of trigger if you want a serving program to start when the first message arrives on a queue, continue until there are no more messages to process, then end.

DEPTH: A trigger event occurs only when the number of messages on the application queue reaches the value of the TriggerDepth attribute.

What are the Trigger types available Explain?
a. Application triggering
b. Channel Triggering

a)     In the case of application triggering the components are Application queue: This is the message queue associated with an application Process: A process definition defines the application to be used to process messages from the application queue. Initiation queue: The queue manager moitors the application queue. If the trigger type of the application queue is set to Every then whenever a message is put to the application queue, the q manager looks into the process definition and puts a message having the application name and other details to the initiation queue Trigger monitor: The trigger monitor gets the trigger message from the initiation queue and starts the program specified.

b) For channel triggering the transmission queue is monitored and when messages are put in the transmission queue, the q manager puts a message in the channel initiation queue. The channel initiator is the program which monitors the initiation queue and starts the sender MCA. For the message to reach the target queue, the channel listener has to be running in the target queue manager

Channel Triggering Conditions:

· Trigger ON
· Trigger type(first every depth)
· Trigger data(channel name which is to be fired)
· Initiation queue(SYSTEM.CHANNEL.INITQ)

Channel Triggering Background process:

1. The local queue manager places a message from an application or from a message channel agent (MCA) on the transmission queue.

2. When the triggering conditions are fulfilled, the local queue manager places a trigger message on the initiation queue.

3. The long-running channel initiator program monitors the initiation queue, and retrieves messages as they appear.

4. The channel initiator processes the trigger messages according to information contained in them. This information may include the channel name, in which case the corresponding MCA is started.

5. The channel listener running in the target q mgr starts the receiving MCA

Application Triggering Conditions:

- Trigger ON
- Trigger type (first every depth)
- Initiation queue (SYSTEM.DEFAULT.INITIATION.QUEUE our own defined local queue)
- Process (NOTEPAD)

DEFINE QLOCAL (LQ) TRIGGER TRIGTYPE (EVERY) INITQ (IQ) PROCESS (NOTEPAD).
DEFINE PROCESS (NOTEPAD) APPLICID (NOTEPAD.EXE) APPLTYPE (WINDOWS)
Runmqtrm –m QM1 –q IQ

Channel Triggering Conditions:

· Trigger ON
· Trigger type(first every depth)
· Trigger data(channel name which is to be fired)
· Initiation queue(SYSTEM.CHANNEL.INITQ)

BACKGROUND PROCESS:

1.      When ever the message comes to triggered local queue, queue manager will fire trigger message with information called trigger type and the process definition (application which is to be triggered) in to the initiation queue (IQ) (our own queue).

2.      At the initiation queue a long running time program called trigger monitor will be watching (monitoring) the initiation queue.

3.      Whenever the trigger message occurs in the initiation the trigger monitor will pick the information and starts the application which is defined in the process.

What is a Trigger monitor?
Trigger monitor is a continuously - running program that serves one or more initiation queues. When a trigger message arrives on an initiation queue, the trigger monitor retrieves the message. The trigger monitor uses the information in the trigger message. It issues a command to start the corresponding application/channel

What is the command used for the running trigger monitor?
Ans: On Server side: runmqtrm -m QMName -q Initiation QueueName

On Client side: runmqtmc -m QMName -q Initiation QueueName

Comments

Popular posts from this blog

Java Health Center - Overview and Features

This video highlights the features available in Health Center. Health Center is a low-processor and memory usage diagnostic tool for monitoring the status of a running IBM Java Virtual Machine (JVM). Health Center provides live information and recommendations in each of the following areas: - Classes: information about classes being loaded - Environment: details of the configuration and system of the monitored application - Garbage Collection: information about the Java heap and pause times - Locking: information about contention on inflated locks - Profiling: sampling profile of Java methods including call paths

WebSphere MQ Interview Questions

What is MQ and what does it do? Ans. MQ stands for MESSAGE QUEUEING. WebSphere MQ allows application programs to use message queuing to participate in message-driven processing. Application programs can communicate across different platforms by using the appropriate message queuing software products. What is Message driven process? Ans . When messages arrive on a queue, they can automatically start an application using triggering. If necessary, the applications can be stopped when the message (or messages) have been processed. What are advantages of the MQ? Ans. 1. Integration. 2. Asynchrony 3. Assured Delivery 4. Scalability. How does it support the Integration? Ans. Because the MQ is independent of the Operating System you use i.e. it may be Windows, Solaris,AIX.It is independent of the protocol (i.e. TCP/IP, LU6.2, SNA, NetBIOS, UDP).It is not required that both the sender and receiver should be running on the same platform What is Asynchrony? Ans. With messag...

Java Garbage Collection

Explain Garbage collection mechanism in Java? Garbage collection is one of the most important features of Java. The purpose of garbage collection is to identify and discard objects that are no longer needed by a program so that their resources can be reclaimed and reused. A Java object is subject to garbage collection when it becomes unreachable to the program in which it is used. Garbage collection is also called automatic memory management as JVM automatically removes the unused variables/objects (value is null) from the memory. Every class inherits finalize() method from java.lang.Object, the finalize() method is called by garbage collector when it determines no more references to the object exists. In Java, it is good idea to explicitly assign null into a variable when no more in use. In Java on calling System.gc() and Runtime.gc(), JVM tries to recycle the unused objects, but there is no guarantee when all the objects will garbage collected. Garbage collection is an automatic pro...