If you're looking for IBM WebSphere Message Queue Interview Questions & Answers for Experienced or Freshers, you are at the right place. There are a lot of opportunities from many reputed companies in the world.
According to research IBM WMQ has a market share of about 15.7%. So, You still have the opportunity to move ahead in your career in IBM WMQ Administration. Mindmajix offers Advanced IBM WMQ Interview Questions 2021 that helps you in cracking your interview & acquire your dream career as an IBM WMQ Administrator.
|Inclined to build a profession as an IBM WMQ Developer? Then here is the blog post on IBM WMQ Training Online.|
MQ abbreviates Message Queuing. When it comes to message-driven processes, IBM enables users to simply keep up the pace with the WebSphere with which all application programs can simply be managed. There is no strict upper limit on the platforms when it comes to communicating and the good thing is vast support is available from IBM to enable the users to manage everything simply.
Organizations and corporations can simply send bulk messages over complex networks. There are no strict protocols that need to be followed. Even if they are, the same can be managed very easily. Enterprises can make sure of quick information delivery to the destinations and can always have the things done in the best possible manner.
The one and the only prime requirement is the machine should be of 32-bit OS. Although it works on 64-bit OS, it needs some customized settings. The Aix should be installed on it and there will be no corrupt files related to programming.
A lot of messages arrive at the queue and especially when there is a lot of traffic. When such a thing happens, an automatic process that relates to the triggering starts. It is possible to stop the application with a simple instruction after it has done its work.
Yes, it can be possible.
Ans: Generally, the default length of a message is 4MB. However, it is not always necessary that all the messages should be of this size. In some special cases, it can be up to 100 MB. In case a message is too large in terms of size, the same can be divided into different parts and then these parts are sent in sequence order. This approach is generally regarded as message switching.
A message is basically considered as a string of bytes that contains something useful for the machine or for the user. Generally, messages are deployed when it comes to sharing information among different nodes. It doesn’t matter whether the application runs on platforms that are different from each other.
This is “MaxMsgLength”
Well, the fact is IBM Websphere MQ is totally independent of the OS one is using. The same factor makes it totally independent of the TCP/IP protocol as well. There are many instances when the messages don’t get delivered or get delayed just because of a sender and a receiver having an OS mismatch. This is actually not at all a big deal with the IBM Websphere MQ and users need not worry about anything related to this.
Yes, it is possible.
Packets are the sub-parts of a message that needs to be sent from a sender to a receiver. Sometimes a situation arrives when a packet doesn’t reach its destination. Because all the packets have a well-defined address on them, the receiver can understand and acknowledge which message has been lost.
In the queue process, the process of sending or exchange of any message doesn’t depend on the time. This is exactly what makes both the sender, as well as the receiver be decoupled if the need for the same is there. There is actually no need for the sender to wait for getting the acknowledgment regarding the delivery of the message from the receiver. IT can continue with this next task. This process is basically considered as Asynchrony in IBM Websphere MQ.
The installation of IBM Websphere MQ needs to have some basic storage requirements which are as under.
It needs 50 MB for data storage on the server. The server installation needs around 40 MB. While the data storage for the client and the installation of the file at the client end have 5 MB and 15 MB needs.
Yes, all the requirements are the same except for a few basic ones. For older versions of Windows such as 2000 and XP, it needs some customized settings in the application. It is actually free from the network protocols and thus users have no reasons to worry about this.
In WebSphere MQ two types of messages exist. They are basically classified based on priority. The messages which are urgent and should be recovered in all the circumstances are called persistent messages. Others are non-persistent messages. This clearly indicates that persistent messages are always delivered to the destination. Users can define any message as persistent. It should be kept in mind that there is a limit on the number of attempts that the sender makes for the delivery in case anything goes wrong.
It is necessary to define the structure of an application data that needs to be used in a message. Applications programs make sure of this and this practice is followed in all the messages. This data is generally considered as application data.
A massage doesn’t just contain information that needs to be transferred but it contains other information too. For example, the type of message and what exactly its priority is. The same is described in the message descriptor which is defined by WebSphere MQ. It contains all other relevant information about the message and among all of the same, its priority that largely matters.
All MQ channels should be within the 20 characters maximum and all other objects can have up to 48 characters. They need to be created into parts if this limit exceeds due to any reason.
They are known as packets and packets in most of the cases are having the same size. Because they all belong to the same message, the information format is similar. They can choose any path that exists between the sender and the receiver and this is exactly what can sometimes result in packet loss. Although its priority is very low, in case it happens, the receiver can send the acknowledgment to the sender that it has not received a specific packet. The sender then has to resend the same to it.
The default number is 1414 and the same cannot be changed.
Well, the fact is sometimes there are so many messages on a network. The channel has its own limit of processing the data and when the same exceeds, the situation is considered as congestion. It is similar to a traffic jam on a road. The clearance needs time and so do the messages get a bit delayed for delivery.
Many times there is a need to issue MQI calls to a queue manager. IT is not always necessary that it runs on the same system. MQ client is responsible for issuing the same for an application. The output can be modified up to some extent. On the other side, the MQ server is basically a manager for the queue which is responsible for offering the queuing service to the clients. All the objects which are classified in the MQ appear only on the server and not on the client’s machine.
These are Channels, Processes, Queue Manager, Name Lists, and Processes.
All these objects can have a similar nature or a different one depending on the operation they are engaged in.
Ans: Ina network, there can be a very large number of nodes. Practically it is not possible to establish a direct physical connection between them all. Of course, this can enhance the cost up to a great extent and can make the network very complex. Thus, the concept of switching is considered. It basically acts as a temporary path that is established between a sender and a receiver for message transfer. The connection is terminated after the message is sent. Because not all the nodes need channels all the time, this concept can be applied. It is having a lot of advantages. All the data that seems to be sent on priority can be assigned sent immediately by stopping other operations.
Control commands are used when it comes to managing the services, as well as different processes related to messaging. Most of the time, these commands are deployed for the channel listener, triggering or for the integration of the same. On the other side, the MQS commands are useful when it comes to functions that are related to the tasks performed by an administrator. It is also possible to create Queue Managers and channels through these commands.
It is necessary that they are used in capital letters otherwise there will be no response.
Well, they are Assured Delivery, Integration, Scalability, and Asynchrony
Although in few cases it consumes time depending on the exact message in the queue, the delivery is always assured. Users can check the status of all the messages simply anytime they want.
The same is present in a folder which is named Windows Registry and is present in the Window’s Program Files. Yes, it is possible to change its location and users can store the backup data anywhere they want.
Telemetry allows the remote sensors to be connected with a node. When it comes to optimizing the sensor networks, its telemetry provides an optimization technique. In satellite networks, it can help to save a lot of costs simply.
It can hold messages in multiple formats
Maintaining the objects like channels and Queues is their responsibility
It is possible to define the queues in the JEE container simply with the help of this series
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.
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.
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
|Related Article: IBM MQ Tutorial|
With message queuing, the exchange of messages between the sending and receiving programs is independent of time. This means that the sending and receiving application programs are decoupled; the sender can continue processing without having to wait for the receiver to acknowledge receipt of the message. The target application does not even have to be running when the message is sent. It can retrieve the message after it is has been started.
WebSphere MQ for AIX, V5.3 runs on any machine that supports the AIX V4.3.3 PowerPC® 32.bit, or AIX® V5.1 Power 32 bit only operating system.
Disk Storage: Typical storage requirements are as follows:
Operating system: The operating systems supported by WebSphere MQ for AIX, V5.3 are:
Connectivity The network protocols supported by WebSphere MQ for AIX, V5.3 are:
MQ v 5.3 supports Windows 2000, Windows 2000XP,Windows 2000NT,
Windows 2003 SE, Windows 2003EE.
Disk Storage: Typical storage requirements are as follows:
Connectivity The network protocols supported by WebSphere MQ for AIX, V5.3 are:
A message is a string of bytes that is meaningful to the applications that use it. Messages are used to transfer information from one application program to another (or between different parts of the same application). The applications can be running on the same platform, or on different platforms.
WebSphere MQ messages have two parts:
The default maximum message length is 4 MB, although you can increase this to a maximum length of 100 MB (where 1 MB equals 1 048 576 bytes).
In Web Sphere MQ, messages can be either persistent or nonpersistent. Persistent messages are logged and can be recovered in the event of a WebSphere MQ failure. Thus, persistent messages are guaranteed to be delivered once and only once. Nonpersistent messages are not logged. Web Sphere still guarantees to deliver them not more than once, but it does not promise to deliver them once.
Persistent messages are usually logged. Logging messages reduces the performance of your application, so use persistent messages for essential data only. If the data in a message can be discarded if the queue manager stops or fails, use a nonpersistent message.
WebSphere MQ messages:
Messages are made up of two parts: Message descriptor, Application data
Qmanagerà10000 Msgs Maxmsglengthà4 Mb
Queueà5000 Msgs Maxmsglengthà4 Mb
A Web Sphere MQ client is a component that allows an application running on a system to issue MQI calls to a queue manager running on another system. The output from the call is sent back to the client, which passes it back to the application.
A Web Sphere MQ server is a queue manager that provides queuing services to one or more clients. All the Web Sphere MQ objects, for example, queues, exist only on the queue manager machine (the Web Sphere MQ server machine), and not on the client. A Web Sphere MQ server can also support local Web Sphere MQ Applications
For MQ Channels it is 20 Characters
For the Remaining objects, it is 48 characters.
MQSC Commands – These commands are used to handle the admin-related functions for the components that are present in the MQ Series. In general MQSC commands are used for creating and maintaining Message channels, Queue Managers, Clusters, etc…
Control Commands – These commands are used to manage the processes and services that are helpful in the functioning of the MQ Series. In general, these commands are used for Channel listener, Channel Initiator, Trigger monitor, etc…
MQSC commands, including their attributes, can be written in uppercase or lowercase. Object names in MQSC commands are folded to uppercase (that is, QUEUE and queue are not differentiated) unless the names are enclosed within single quotation marks. If quotation marks are not used, the object is processed with a name in uppercase.
After entering into the queue manager we can find script commands.
Script commands are the same for every queue manager.
(These Commands should be used in CAPITAL LETTERS)
For commands that have too many parameters to fit on one line, use continuation characters to indicate that a command is continued on the following line:
These commands are issued from a program for local or remote administration done by programmers.
crtmqm -q -d MY.DEFAULT.XMIT.QUEUE -u DEAD.LETTER.QUEUE QM1
Here -q used to define the Queue manager QM1 as a Default Queue manager
-d is used to define the default transmission Queue -u is used to defining the default dead letter queue.
On Windows systems, use the Web Sphere MQ Services snap-in to display the properties of the queue manager, and check the Make queue manager in the default box. You need to stop and restart the queue manager for the change to take effect.
Windows systems: If you use Web Sphere MQ for Windows NT and Windows 2000, configuration information is stored in the Windows Registry.
endmqm -w QMName
The command waits until all applications have stopped and the queue manager has ended.
endmqm –I QMName
This type of shutdown does not wait for applications to disconnect from the queue manager.
AMQ4044 Queue manager stopping
|Related Article: IBM MQ Interview Questions|
runmqsc QM1 Display qmgr
I have an IBM Websphere MQ v6.0 queue manager running on Solaris 9. I want to prevent my staff members who have limited WebSphere MQ experience to make changes to the WMQ network.
One way is to use Dale Lane’s “Using WebSphere MQ Explorer as a read-only viewer”:
The WebSphere MQ Explorer GUI provides a user-friendly way to administer your queue managers. It can be used as a read-only ‘viewer’. If you have some staff that doesn’t have authority to make changes to the WMQ network but needs them to be able to monitor what is happening, this would let them use WMQ Explorer to do it.
The following are the steps required to set this up for a single queue manager and highlight a couple of potential problems to watch out for.
Steps to carry out on the machine hosting the queue manager:
Steps to carry out on the WebSphere MQ Explorer machine:
Right-click on ‘Queue Managers’ and choose “Show Queue Manager”
Things to watch out for:
Note 1: The WebSphere MQ Explorer user will only see the objects that they have the authority to see. So it’s worth being aware that in such a setup, the Explorer is no longer showing a definitive view of the objects on the queue manager.
Note 2: Attempts to view an object, which the user isn’t authorized to display, can result in an authorization event. See the Monitoring WebSphere MQ section on ‘Event Monitoring’
(fhttps://publib.boulder.ibm.com/infocenter/wmqv6/v6r0/index.jsp?topic=/com.ibm.mq.csqzax.doc/monevent.htm) for more information. To summarize, if a queue manager has authorization events (AUTHOREV) enabled, every attempt to access something which a user is not authorized to will cause an event message to be put to the SYSTEM.ADMIN.QMGR.EVENT queue. So, for example, if a user does not have access to display queues, then one authorization event message will be put to SYSTEM.ADMIN.QMGR.EVENT for each queue they cannot access every time the Queues view in WMQ Explorer is refreshed. This could result in a lot of messages, so you may want to disable AUTHOREV or take steps to handle these messages.
Note 3: If you want to look at queues with WebSphere MQ Explorer in this way, you will need to have Refresh Pack 220.127.116.11 or greater applied. A bug in the Explorer prior to this meant that the failure to display SYSTEM.AUTH.DATA.QUEUE (a queue to which it is not possible to give a non-mqm user access) prevented any queues from being displayed. This is documented more fully in APAR IC49051 (https://www-1.ibm.com/support/docview.wss?rs=171&uid=swg1IC49051)
Note 4: When I talk about the WMQ Explorer, I’m referring to the Eclipse-based Explorer that comes with WebSphere MQ version 6. I’ve not tried this on the v5.3 Windows WMQ Explorer.
Note 5: In the examples above, we used the -p option for setmqaut – specifying a specific user. This was done for simplicity but in practice using -g to specify a group is often easier to manage. See the System Administrative Guide for the full syntax.
I have a system that receives a message and calls a DB2 stored procedure to process it via a db2mqlsn command (on Windows). Now I’m migrating the system to Linux and the only thing left for me to do, is to set up the db2mqls to start automatically after the MQ manager starts.
My problem is that running the command won’t return a result because it keeps running indefinitely.
Here’s part of what I got on the script (on /etc/init.d/):
su – mqm -c “cd /opt/mqm/bin; ./strmqm MYQUEUEMANAGER “
su – db2inst1 -c “cd /opt/ibm/db2/V9.1/bin; ./db2mqlsn run -config DB MYDB -config mydbconfig”
How can I set up a command call like that in the script that I have created that starts my MQ manager at boot (on /etc/init.d/)?
A: You might want to put the command into the background. At the end of the command just put a ‘&’:
runmqlsr -m MYQMGR -t tcp -p 1414 &
What’s the best way to file problem reports about version 5.3 of MQ for Tandem Nonstop systems?
I have access to IBMLINK, what is the “Software Component Id” that should be used for the Tandem-based 5.3 products? I have tried all of the numbers I have found in the documentation and in the read me files and none of them work.
A: Try using 5724A39. Also, you should try the ESR interface to IBM for the Tandem.
ESR will allow you to generate a PMR (case) but like all things, you need to be authorized by your companies IBM services coordinator.
We are running 5.2 and 5.3. Our servers had the MS DST patches applied and the server OS time was correct; however, Eclipse was still showing times that is one hour behind.
Does daylight save change have any impact on the MQ application?
A: Customers need to ensure that the JRE being used by the eclipse that can be customized by customers is up to date by running the JTZU against the specified version that they are using. The actions that need to be taken are as follows:
1. Identify the JDK in use by eclipse. This can be done by launching the WebSphere MQ explorer and then following the menu tree:
Window ->Preferences -> Java -> Installed JREs
A list of one or more installed JREs is displayed in the panel. One of these JREs will be “checked” indicating that it is the one that eclipse will use to run Java code (MQ Explorer in this case) against. Make a note of this location for example
C:JDKJ150 – Download and extract the appropriate JTZU from:
This would instruct the tool to run against a JRE (in this case 1.4.2) at a location c:jdkj142jre:
We are using the MQ version 5.3 with the CSD Version 5 in Windows Server 2000. For the last 2 weeks, the FDC files are being generated continuously and now have occupied the drive completely. We have deleted some old FDC to free some space.
How do I stop these FDCs’ from getting generated?
A: This one’s from IBM:
Problem: You are running WebSphere® MQ v5.3. You monitor MQ with a user-developed shell script, which runs runmqsc every 10 minutes. This script produces FDC files for probe id XC076001 and the reason code of xecX_E_CONV_NOT_SUP. These FDC files also are reporting “Cat CCSID 954, user CCSID 819”. This means that the message catalog is using CCSID 954. The FDC does not stop runmqsc or the script. The environment where the messages come from is the one issuing the runmqsc commands and is also using CCSID 819.
Cause: This problem occurs because you have LC_ALL set to blank or no value. In this case, the value of LC_ALL= will take precedence over LANG. So the default locale, English 819, is taken. Since there is no conversion table for 950 to 819 available the message display fails.
Solution: Set LC_ALL=ja and export this in a shell. Issue locale command and this should display LANG and LC_* as “ja”. Once the display shows the values correctly, issue runmqsc and check if the problem is resolved.
Also, it is suggested that you set all locale variables to the same value. In this case, either set them all to be “ja” or set all to be Japanese.
The locale output for the failing machine shows:
We installed MQ Server 5.3 on a SUN Solaris Host. How would I create a connection b/w Solaris MQ and Mainframe MQ? Is there any file in which I need to give the IP address of remote host?
A: You need to create MQ channels between the two queue managers. Two manuals to look at MQ Intercommunications and MQ Script Command Reference.
Briefly, channels come in pairs; one Sender and one Receiver, for example:
Messages flow one way on a channel. If you need messages to flow in the other direction, you will need to create a second pair of channels. Sender channels send messages from a transmission queue (xmitq). The QRemote definition specifies the name of the xmit queue. The programmer opens the QRemote definition.
To get messages from SUN to z/OS, create:
On the SUN qmgr: one Sender channel from SUN to z/OS. Let’s call it SUN.ZOS. On the Sender channel definition, you specify ipaddress (port) of the z/OS qmgr and listener.
On z/OS: one Receiver channel from SUN to z/OS. Exact same name: SUN.ZOS.
To get messages from z/OS to SUN, create the inverse channel pair. Let’s call it ZOS.SUN:
On z/OS: one Sender channel from z/OS to SUN, specifying SUN qmgr ipaddress (port).
On SUN: one Receiver channel from z/OS to SUN. Exact same channel name: ZOS.SUN.
Examples for each platform type are in the Intercommunications manual.
You will need to have IP running on both SUN and z/OS and you will need to have listeners running on both, as well.
We have a situation where we need to unsubscribe a topic in the Publish-Subscribe setup. The same is not working through our program. Can we issue any command that can be used to unsubscribe a topic or all the topics?
A: Send an “unsubscribe” message with RFHUtil or similar. Another option is to delete the subscription through the broker admin interface.
We have three qmgrs QM1, QM2 & QM3 which are connected to three applications App1 to QM1, App2 to QM2, & App3 to QM3. The requirement is to have messages sent by App1 to QM2 (Distributed Queuing). This message has to be consumed by App2 from QM2 and also the same message has to be sent to QM3 to be consumed by App3.
The app team informed us that there won’t be any change in the code so we have to get this done only with MQ. Is this achievable using MQ?
A: Try the mirrorq exit. Please bear in mind the mirrorq exit is sample code & not necessarily production strength. If you’re going to use this over anything other than the short term, review it and be sure you’re confident of its robustness and your ability to support it.
From Machine A, a client program sends a request to the MQ server in Machine B. Now, that computer updates the DB situated in another Machine C. Is this possible only with triggering?
A: Your scenario relies on Machine A being able to place a request message on Machine B, hence you’d need an MQ client connection between A and B or server-side channels to carry the message. Machine B must be able to access the database on Machine C, so this implies a client link between the two machines. Unless they have replicated databases, RPC links, piped data transfer, or an MQ link running PM4Data.
You would also need a triggered application on Machine B unless the application on Machine B was written to be long-running or there wasn’t an application on Machine B. This could only be written in Java or C or a language with a supported environment on Machine B unless there wasn’t an application at all.
Ans: I am having a queue manager to whom 10 different applications connect. I want to make them connect over SSL svrconn channels and for them to represent different unique certificates. So all 10 application key repositories will have the same queue manager certificate but my queue manager key repository will have 10 different certificates, one from each application.
My Q. is how the queue manager will know which certificate to use for a handshake when a connection request comes?
A: QMGR will use their cert from Keystore which alias name is Ibmwebspheremq during a handshake.
Then in your configuration QMGR compares the sent application public certificate with certificates from Keystore.
Consider using standard PKI with CA rather than a self-signed cert.
What is the overhead on MQ for having a large value for maximum message length in a queue definition?
For example, if I define the maximum message length to say 10MB but the maximum message length is only initially set at 1MB.
Can this affect any performance on the settings elsewhere?
A: The space used to hold the value for MaxMsgLen is a constant; it’s the same no matter what number is used for MaxMsgLen.
The only way that, for example, setting the MaxMsgLn for all queues, channels, and qmgrs to the maximum possible will have any performance impact is if your logs are not sized to handle that size of message AND someone actually SENDS a big message.
Set it to the largest value you can possibly handle, and then you don’t have to worry about changing it every time an application needs a bigger value. Setting the MaxMsgLn doesn’t affect anything else. Sending a large message does.
Max Message length is only a safety feature to not receive unexpectedly large messages.
Significance of Websphere MQ Series:
Websphere MQ messages contain:
QueueManageris the primary component of WebSphere MQ or WMQ. the queue manager is responsible for storing and routing messages to other Queue Manager within MQ and it also communicates with the outside world e.g. Java program or any other MQ client.
In WebSphere MQ or WMQ, Queue Manager uses the channel to transmit messages to other QueueManager. Channel carries one-way traffic in MQ Series (i.e. channels are unidirectional). You can have either sending channel or receiving channel in MQ.
Dead letter Queue in WebSphere MQ is a queue that is used by QueueManager to archive messages for a non-existent queue. For example, QueueManagerQMGR receives a message for queue ABC and if it didn’t exist on that QueueMangaer then the message will be routed to the dead letter queue.
CCDT file or Client Channel Definition table is a binary file that 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 need MQ Server hostname, MQ Server port name, and server channel name. All these details are encapsulated in the CCDT file named AMQCLCHL.TAB. In order to create MQ Connection, MQ clients need the location of this file, which is provided as a configuration. most MQ errors come either with incorrect CCDT files.
Another interesting and frequently asked WebSphere MQ Interview Q. You can easily answer this MQ Q. if you connected MQ via SSL. SSLPEER is a String usually DN (Distinguished Name) of MQ Client which connects to QueueManager securely using QueueManager. This is a mechanism WMQ uses to identify clients. In the case of Java or JMS client, SSLPEER is DN of client certificate stored in its keyStore and sent to the server during SSL handshake.
This is a follow Q. of previous MQ interview Q. “What is dead letter queue in MQ Series”. As we have seen that dead letter queue is used to store messages which are received for the nonexistent queue. On the other hand, backout queues are application-specific queues. If the MQ client is not able to process the message and ask for redelivery, the message is redelivered to the client with the incremented delivery count. Once this deliveryCountcrossed a configured threshold message is moved to the back-out queue for later processing or error handling. In short if MQ Series are not able to deliver a message to the client after a preconfigured attempt, WMQ moves the message to the backout queue.
This MQ Interview Q. is not common or frequently asked, but good to know. If MQ clients sit on the same physical server where QueueManager is located then it can create a binding connection which is relatively faster than client connection, which is usually created by MQ clients residing on the same network but not the same host. Most of the application uses MQ client connection to connect QueueMangaer, which is easy and flexible.
Rather simple and fact-based MQ Series interview Q. This is asked to see whether a candidate is familiar with MQ Series terminology or not. In WebSphere MQ, local queues are queue on the same queue manager while remote queue refers to queue on different QueueManager.
|Explore IBM WebSphere Message Queue Sample Resumes! Download & Edit, Get Noticed by Top Employers! Download Now!|
This MQ interview Q. 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 the previous or next version, etc. Based upon your answer, you may expect some follow-up Q.s. By the way, the current version of WMQ is WebSphere MQ 7.5 but it always good to check IBM’s MQ website for the latest version.
I like this MQ Interview Q. 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 the MQ front, there are a 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 provides a useful Queue browser to keep track of Queues and the number of message on it.