☆ A middle ware from IBM.
☆ It has runtime managers such as Queue Managers and Queues.
☆ Queue is an object which holds messages of various formats - XML/text/byte.
☆ Queue manger maintains and manages objects like Queues, channels.
☆ Various listener applications listen to these queues for grabbing the messages, followed by processing these messages.
☆ Java Messaging Service is one of the standards provided by JEE specification for asynchronous messaging.
☆ The queues can be defined in JEE container and send messages on these queues.
☆ Message Driven Bean can be configured for listening the JMS queues.
☆ When a message is on the JMS queue, the corresponding MDB's onMessage() method is invoked and the message processing can be done.
☆ WebSphere MQ will significantly improves the flow of information across an enterprise.
☆ The message is placed and adjusted for dynamic business requirements.
☆ MQ series reduce maintenance, integration costs and acts as a bridge to various technologies.
☆ MQ Series reduces costs and all the disruptions are processed from data loss.
☆ Allows ongoing maintenance efforts through universal service delivery.
☆ Security breaches are eliminated and insures the compliance through message and.
☆ transaction integrity.
The following are the types of queues:
1) Model Queue:
A queue definition is called a model queue. It is used when a dynamic queue is created
2) Alias Queue:
Another name for a local queue or a remote queue. It's usage is for security and maintenance
3) Remote Queue:
Remote queue is a queue definition pertaining to another Q Manager
4) Initiation Queue:
It is a local queue. Queue manager writes a trigger message at the time of meeting certain conditions on another local queue
5) Dynamic Queue :
A dynamic queue is created 'on the fly' on demand by the application. The dynamic queues may be retained or automatically deleted when the application program ends. It is used to store any intermediate result
6) Cluster Queue:
A local queue. It is known throughout a cluster of queue managers
A request message must have the queue name, into which the program that is responding must put the reply message
The following are some of the reserved queue names of IBM Websphere MQ Series:
☆ SYSTEM.ADMIN.CHANNEL.EVENT Queue for events of channel
☆ SYSTEM.CHANNEL.INITQ A distributed queuing queue on z/OS without CICS
☆ SYSTEM.CHANNEL.SEQNO A distributed queuing queue on z/OS using CICS
☆ SYSTEM.CHANNEL.SYNCQ A distributed queuing queue on z/OS without CICS
☆ SYSTEM.ADMIN.COMMAND.QUEUE Queue for PCF command messages to be sent for
☆ non- z/OS
☆ SYSTEM.ADMIN.CONFIG.EVENT Queue for events of configuration
☆ SYSTEM.ADMIN.PERFM.EVENT Queue for events of performance
☆ SYSTEM.ADMIN.QMGR.EVENT Queue for events of queue manager
☆ SYSTEM.CHANNEL.COMMAND A distributed queuing queue on z/OS using CICS
☆ SYSTEM.CICS.INITIATION.QUEUE Queue for utilization of triggering for non- z/OS
☆ SYSTEM.CLUSTER.COMMAND.QUEUE Queue for communication repository changes among queue managers (applicable for AIX, HP-UX, Linux, OS/2 Warp, OS/400, Solaris, Windows, and z/OS only)
☆ SYSTEM.CLUSTER.REPOSITORY.QUEUE Queue for holding information about repository (applicable for AIX, HP-UX, Linux, OS/2 Warp, OS/400, Solaris, Windows, and z/OS only)
Sending messages from one queue manager to another queue manager is known as inter communication/
☆ The receiving queue manager may by on the same machine or another.
☆ It could be executing on the platform where the local queue manager exists
☆ It could be executing on another platform supported by Web Sphere MQ
☆ The participating entities are:
1) Message channels, message channel agents
2) Transmission queues, channel initiators and listeners
3) Programs those are co-existing
MQ messages types are:
☆ Data-gram - It is an unsolicited message
☆ Request - A message for which a response is expected
☆ Reply - A message event such as a confirmation on arrival or delivery. It can be an error
☆ MQ messages can be persistent or non-persistent
☆ Persistent messages are usually logged.
☆ The performance of the application is reduced by logged messages.
☆ Persistent messages are utilized only for essential data.
☆ When the queue manager is stopped / failed or the data in the message is discarded, then use a non persistent message.
☆ As the logged data is persisted for long time and need to keep track about the events that are happening in the systems, this data need to be persisted.
☆ Use buffering mechanism to improve the speed of retrieving data from the logged messages.
☆ The exchanging of messages among sending and receiving programs is time independent
☆ The sending and receiving application programs are decoupled
☆ Sender's process can continue with out the need of waiting for the receiver's acknowledgement message
☆ The receiver's application need not be running while the message is sent
☆ The receiver can retrieve the messages after it has been started
☆ When a queue is not delivered to their correct destinations, then it is called as Dead Letter queue.
☆ When the destination queue is full, the dead-letter queue occurs. It is identified by SYSTEM.DEAD.LETTER.QUEUE.
☆ A dead-letter queue is defined for distributed queuing, on each queue manager.
☆ Initiation queues are used for triggering
☆ A trigger message is put by a queue manager on an initiation queue when a trigger is occurred
☆ Logical combinations are part of a trigger event which is detected by the queue manager
☆ Transmission queues store messages which are destined for a specific remote queue manager
☆ At least one transmission queue must be defined for each remote queue manger
☆ The messages are directly be sent to the remote queue manager
This is a follow question of previous MQ interview question "What is dead letter queue in MQ Series". As we have seen that dead letter queue is used to store messages which is receives for non existent queue. On the other hand backout queue are application specific queue.If MQ client is not able to process message and ask for redelivery, message is redelivered to client with incremented delivery count. Once this deliveryCount crossed a configured threshold message is moved to back-out queue for later processing or error handling. In short if MQ Series not able to deliver message to client after a preconfigured attempt, WMQ moves message to backout queue.
☆ A Web Sphere MQ Client is an application's component that is running on a system for sending MQI calls to a queue manager which is running on another system
☆ The response is sent back to the client, which passes back to the application
☆ A Web Sphere MQ Server is an application's component that provides queuing services to several clients.
☆ All the MQ objects of an application, like the queues, exist only in the queue manager machine.
☆ Web Sphere MQ server can also support the Web Sphere MQ Applications that are running locally.
☆ For Queue manager, the limit is 4 MB
☆ For a Queue the limit is 4 MB
☆ The default memory size for Q Capture program is 64 KB
☆ The default memory size for Q Apply program is 2 MB
☆ What is the attribute used to see the Message length?
☆ The attribute used to see the message length is MaxMsgLength
This MQ Interview question is not common or frequently asked, but good to know. If MQ clients sits on same physical server where Queue Manager is located than it can create binding connection which is relatively faster than client connection, which is usually created by MQ clients residing on same network but not same host. Most of application uses MQ client connection to connect QueueMangaer, which is easy and flexible.
☆ An application which starts in response to an event that is triggered in MQ Queue Manager is defined as a process definition.
☆ The application ID, application type and data specific to the application are the attributes for defining process definition.
☆ The message can be retrieved in First-in-first-out (FIFO) basis.
☆ Message priority - defined in the message descriptor. Messages with same priority are retrieved on a FIFO basis
☆ A specific message can be retrieved by a program request.
I like this MQ Interview question to ask because many times having experience of one or more Messaging technology or Messaging Middle-ware is good. As I said earlier Tibco RV, Tibco EMS and MQ Series are some of the popular messaging technology used in Java applications. On MQ front there are couple of more MQ providers e.g. Sonic MQ and Active MQ. Active MQ is free and from Apache software foundation, which is easy to install and use. You can use Active MQ for your development and test environment. it also provide a useful Queue browser to keep track of Queues and number of message on it.
This MQ interview question is more to know that which version of MQ have you worked upon, do you familiar with any issue with that particular version or many major changes to previous or next version etc. Based upon your answer, you may expect some follow-up questions. By the way current version of WMQ is WebSphere MQ 7.5 but it always good to check IBM's MQ website for latest version.
Rather simple and fact based MQ Series interview question. This is asked to see whether candidate is familiar with MQ Series terminology or not. In WebSphere MQ, local queues are queue on same QueueManager while remote queue refers to queue on different QueueManager.
Another interesting and frequently asked WebSphere MQ Interview Question. You can easily answer this MQ question if you connected MQ via SSL. SSLPEER is a String usually DN (Distinguished name) of MQ Client which connect to QueueManager securely using QueueManager. This is a mechanism WMQ uses to identify client. In case of Java or JMS client, SSLPEER is DN of client certificate stored in its keyStore and sent to server during SSL handshake.
CCDT file or Client Channel Definition table is a binary file which contains connection details required by MQ clients e.g. Java application using JMS to connect to MQ Server. In order to connect to MQ Server, MQ clients needs MQ Server host name, MQ Server port name and server channel name. All these details are encapsulated in CCDT file named as AMQCLCHL.TAB. In order to create MQ Connection, MQ clients needs location of this file, which is provided as configuration. most of MQ errors comes either with incorrect CCDT files.
In WebSphere MQ or WMQ, Queue Manager use channel to transmit messages to other QueueManager. Channel carries one way traffic in MQ Series (i.e. channels are uni directional). You can have either sending channel or receiving channel in MQ.
Dead letter Queue in WebSphere MQ is a queue which is used by QueueManager to archive messages for a non existent queue. For example of Queue Manager QMGR, receives a messages for queue ABC and if it didn't exist on that Queue Manager then message will be routed to dead letter queue.
Messages are collections of binary or character (for instance ASCII or EBCDIC) data that have some meaning to a participating program. As in other communications protocols, storage, routing, and delivery information is added to the message before transmission and stripped from the message prior to delivery to the receiving application.
Message queues are objects that store messages in an application.
IBM MQ is a family of network software products that IBM launched in March 1992. It was originally called MQSeries, and was renamed WebSphere MQ in 2002 to join the suite of WebSphere products. In April 2014, it was renamed IBM MQ.
#runmqsc <QMGR NAME>
dis chs(channel name) ALL
you will see an attribute called MSGS and that tells you how
many messages passed through that particular channel instance.
we have 2 types of Logfiles in MQ.
1. Error logs.
these logs can be found under
/var/mqm/qmgrs/<QMGRNAME>/errors and the log files starts
with AMQERR01.LOG/AMQERR02.LOG/AMQERR03.LOG. These logs are
used to capture error logs to that particular logs.
/var/mqm/errors. Unthis DIR again you see same files. This
will capture errror logs related to all QMGRS in the server.
2. Transacational(ACTIVE) logs.
These logs are used for media recovery and restat recovery.
Location:/var/mqm/log/QMGR/active. File names starts with S.
Space to these files are allocated based on your settings in
This we call as logspace.
one is pub/sub concept
Open MQ Explorer by selecting Start > Programs > IBM WebSphere MQ > WebSphere MQ Explorer.
Check to see if the depth of the WebSphere® Sensor Events queues is greater than zero.
SDSF (spool Display Search Fecility)
it speeds implementation of distributed applications.
it runs on different platforms
it time independent.
no loss for msg delivery ie gaurenty delivery.
Queue is a data structure which is store the messages.and
every queue has own queue manager.queue manager are
maintaining the all queues.different types of queues are
available in web sphere mq in different purpose.but
generally 4 types of queues r there
Cluster is said to be group of queue manager's logically
connected together to balance the load on the remote machine
(i.e if it is remote queue managers which processes your
message). And there are two types of grouping on the queue
1) Full repository
2) Partial repository.
The full repository queue manager knows all other queue
managers in the cluster and whenever a message comes to it,
and if that is unable to process the message, it will find
a queue in other queue manager in the cluster and ask it to
process the message.
DLQ - Dead Letter Queue:
If an application tries to put a message to another application and if it is not delivered then it goes to the DLQ. So DLQ is nothing but all undelivered messages stored in DLQ.
The dead-letter queue is a local queue where messages are put if they cannot be routed to their intended destination You need to create a DLQ at the time of creating a Queue Manager.
crtmqm -q -d MY.DEFAULT.XMIT.QUEUE -u SYSTEM.DEAD.LETTER.QUEUE SATURN.QUEUE.MANAGER where -u is dead letter queue
Channel means logical communication link. There are two
types of channels
1) message channel,
2) MQI channel
1) Mesage channel use for communication between QMgr to
2) MQI channel use for for communication between QMgr to
Yes, we can handle the message in deadletterq?
ans> we have two commands to retrieve messages from DLQ.
Action(fwd) fwdq fwdqm.
then that DLQ message forward to this particular q.
Using CICS Transaction Gateway we can connect MQ Serires with Power Builder 8.0
When you are using Internet Explorer (IE) attached
documents created in Microsoft Office (Word, Excel,
PowerPoint) will open up in the content frame. Attached
Office documents in Netscape will ask you if you want to
"download the document to your hard drive" or "open it in
its current location." The former will not open the document
but save it to your computer. The latter will launch the
program in which the document was created.
With IE, pressing the Enter key will activate such buttons
as "Submit" and "Log-in". In Netscape you must actually
click on these buttons.
Note: Netscape does not always work properly. Sometimes
items an instructor adds will not appear where they should,
links may not function properly, etc. This is why it is
strongly encouraged that everyone use Internet Explorer 5.5
or above for all functions of Blackboard. In any case DO NOT
use the AOL browser. Certain functions such as assessments
do not work properly.
1.Local queue -is a real queue
2.Cluster queue -is a local queue that is known throughout
a cluster of queue managers
3.Remote queue -structure describing a queue
4.Transmission queue(xmit quueue) -local queue with special
5.Initiation queue -local queue with special purpose
6.Dynamic queue -local queue created "on the fly"
7.Alias queue -if you dont like the name
8.Dead-letter queue -one for each queue manager
9.Reply-to-queue -specified in request message
10.Model queue -model for local queues
11.Repository queue -holds cluster information
A message is a string of bytes that has meaning to the
applications that use it
Message = Header(s) + Application Data
A message consists of a header and the attached application
Unique Message Id, Routing information, Message format
The data part of a message:
A record from an indexed or flat file
A row from a DB2 table
Individual columns from DB2 tables
Multiple rows or records