Once one has a coordination queue manager in the "Managed File Transfer" folder of the IBM MQ Explorer (with the FTE add-on of course), how is it that one adds additional Coordination Queue managers? I don't see an "Add Coordiation Qmgr" option from the Managed File Transfer folder ... ?
You have to create a coordination queue manager using fteSetupCoordination command from command line.
fteSetupCoordination.cmd -coordinationQMgr QM_COORD2 -coordinationQMgrHost localhost -coordinationQMgrPort 3099 -coordinationQMgrChannel MQSVRCHN
This command will create a .mqsc file under config directory. That mqsc file must be run against the new coordination queue manager. For example:
runmqsc QM_COORD2 < C:\MQFTE\IBM\WMQFTE\config\QM_COORD2\QM_COORD2.mqsc
Start MQ Explorer, you will see QM_COORD2 as another coordination queue manager under Managed File Transfer node. Note that there can be only one coordination queue manager active at any point. Hence QM_COORD2 queue manager will be shown as inactive. You will need to disconnect the active coordination queue manager and then make the QM_COORD2 active. To make it active, just right click on the QM_COORD2 and click on Connect short menu.
And so following the resolution of a PMR, we find that my implementation of the FTE plugin for MQ explorer at v 7.0.1.2, was such that it precluded the detection of additional coordination queue managers. I deployed the v7.5 version, and EVERYTHING works fine now. Case closed.
Related
Is it possible in IBM MQ through the console (command-line) to stop a queue?
I know how to stop a Queue Manager with endmqm. But can I run a console command which will stop one queue?
A queue cannot be stopped independently of the queue manager.
However, you may find that restricting puts and/or gets on/from the queue achieves your desired goal, depending on your setup. This will allow you to prevent applications from adding new messages to the queue and/or removing messages from the queue.
This can be done using commands in the runmqsc interface. https://www.ibm.com/support/knowledgecenter/SSFKSJ_latest/com.ibm.mq.ref.adm.doc/q083460_.htm
Here are the commands you'll need:
runmqsc QUEUE_MANAGER_NAME
ALTER QLOCAL('QUEUE_NAME') GET(DISABLED)
ALTER QLOCAL('QUEUE_NAME') PUT(DISABLED)
EXIT
Below is the commands and output for me disabling PUT and GET for my queue named Q1 on queue manager MyQM1.
mqa(mqcli)# runmqsc MyQM1
5724-H72 (C) Copyright IBM Corp. 1994, 2020.
Starting MQSC for queue manager MyQM1.
ALTER QLOCAL('Q1') GET(DISABLED)
1 : ALTER QLOCAL('Q1') GET(DISABLED)
AMQ8008I: IBM MQ Appliance queue changed.
ALTER QLOCAL('Q1') PUT(DISABLED)
2 : ALTER QLOCAL('Q1') PUT(DISABLED)
AMQ8008I: IBM MQ Appliance queue changed.
I'd recommend trying this out in a test environment first, to ensure it meets your needs and that your applications behave correctly to the error messages. E.g. "MQGET calls are currently inhibited for the queue. (2016)"
In our application we are maintaining queue manager names in the configuration file which are stored in database. At any time, only one queue manager name can be specified in the configuration file.
To support application fail over, it is required to connect to another queue manager with a different name.
It makes no sense to duplicate all configuration files due to different queue manager name. Is there any way at MQ level (alias may be) to refer with the same queue manager in the configuration file, but if the DR location is active it should connect to new queue manager.
As JoshMc said, use a blank or star for the queue manager name. After the connection, the application can use the getName method to retrieve the name of the queue manager.
MQQueueManager qMgr = new MQQueueManager(" ", mqht);
System.out.println("QMgr="+qMgr.getName());
Note: mqht is a Hashtable with the connection parameters.
We have have 5 channels in our IBM MQ Explorer for the App.To.REG queue manager.
I want to find the date of creation or first use of each channel.
I have tried both display channel and display chstatus command but it didn't gave the required details.
You will need an MQ Configuration and/or Monitoring tool for that type of information. Also, you will need to turn on the queue manager's Configuration Events. The DIS CHL() command will only give you the last altered date & time.
I am looking for a command to change the message broker message flow instance in the run time. I know it is quite easy with MB explorer. But I am more interested towards the server side mqsi command. Ours is a AIX env with message broker 8 installed.
The number of instances a message flow has on the execution group is configured in the BAR file, before deployment.
If you want to change the number of additional instances you will need to redeploy your flow.
You can use the mqsiapplybaroverride command to change the configuration of the flow in the BAR file, and the mqsideploy command to redeploy the BAR.
As of IIB v9 you can control the number of instances dynamically at runtime by assigning a workload management policy.
See the description here:
http://www-01.ibm.com/support/knowledgecenter/SSMKHH_9.0.0/com.ibm.etools.mft.doc/bn34262_.htm
Once you have assigned a policy you can change it using the mqsichangepolicy command specifying an xml policy document that has a different number of instances.
Alternatively you can use the web ui to change it directly on the running broker.
I have user (not administrator) access to some external JMS.
I'm failing to view queue while trying to use GEMS.
My guess this is because GEMS is admin console for JMS but user I have don't have any administrator permissions.
I've made a try to create user without admin permissions on my local Tibco and I fail to connect to JMS using very user in GEMS.
How could I view any JMS with resricted user? Is GEMS able to do that? If not what tools could be used?
Thanks.
There is Hermes tool suitable for this.
It was relly hard to get Hermes working with Tibco EMS. Here is good tutorial how to configure Hermes.
HermesJMS provides a GUI to access JMS queues and topics for common tasks such as sending messages, removing messages and copying messages between queues and topics. It’s one of some “must have” tools for EMS admins and application support team.
Get the latest installer from SourceForge: http://sourceforge.net/projects/hermesjms/files/ then run it:
java -jar hermes-installer.jar
Installation is very simple, just few screens: release notes, license agreement, installation path, components (here is only one actually), summary, files copying, shortcuts creation and installation finish.
To start HermesJMS run hermes.bat in your \HermesJMS\bin. If you got error message “cannot find \bin\javaw”, make sure that you have JAVA_HOME system variable defined to your jre folder.
When Hermes started successfully, click on “Create new JMS session” button, preferences window will appear, select providers tab and right-clik on free space. Then press “Add Group” and enter group name. Right-click on “Library” and press “Add JAR(s)”. Look in \ems\5.1\lib folder and select all .jar files there. Click “Open”, then let Hermes to scan jars for factories: press “Scan” button. Then press “Apply”. All libraries will be in the list like on my screenshot.
Go to “Sessions” tab and enter name for session: “My EMS” for example, then select “EMS” loader. Next step is select “com.tibco.tibjms. TibjmsConnectionFactory” class and “Tibco EMS” plugin. Order is very important: select loader, then class, then plugin. Right-click on free space in plugin section and press “Add property”. You have to enter all three properties: username, password and serverURL, do the same for Connection Factory, then press “OK” to save and close properties window.
Now we can connect Hermes to our EMS. Let it discover queues and topics, press “Discover queues and topics from the provider” button. Then confirm replacement of the current set of destinations and list will be updated. That’s all.