Author |
Message
|
samsam007 |
Posted: Wed Nov 12, 2008 3:24 pm Post subject: |
|
|
 Centurion
Joined: 30 Oct 2008 Posts: 107
|
Thanks for all the replies.
Here is some notes. The external apps have "Message Service Client for .NET" installed and I will assumed the apps will use MQGET to retrieve message from the "*SEND" queues from QM.ITSMMS in Cluster SIG.
There are also some stream queues and control queues defined in the QM.ITSMMS as well in order to implement publish and subscribe communication .
Here is my one more try. Please see the code below:
crtmqm -u SYSTEM.DEAD.LETTER.QUEUE ITSMMS
strmqm ITSMMS
runmqsc ITSMMS << EOF
ALTER QMGR REPOS(SIG)
ALTER QLOCAL(SYSTEM.DEAD.LETTER.QUEUE) DEFPSIST(YES) MAXMSGL(104857600)
DEFINE CHANNEL(TO.ITSMMS) CHLTYPE(CLUSRCVR) TRPTYPE(TCP) CONNAME('ITSMMS(2187)') CLUSTER(SIG) DESCR('TCP Cluster-receiver channel for queue manager ITSMMS') MCAUSER(NOUSER) REPLACE
DEFINE CHANNEL(TO.ITSMMS2) CHLTYPE(CLUSSDR) TRPTYPE(TCP) CONNAME('ITSMMS2(2188)') CLUSTER(SIG) DESCR('TCP Cluster-sender channel from ITSMMS to repository at ITSMMS2(NOUSER) MCAUSER() REPLACE
DEFINE QLOCAL('CLUS.TDCS.SEND') REPLACE GET(ENABLED) DESCR('TDCS app gets message from') USAGE(NORMAL)
DEFINE QLOCAL('CLUS.TTS.SEND') REPLACE GET(ENABLED) DESCR('TTS app gets message from') USAGE(NORMAL)
DEFINE QLOCAL('CLUS.TSS.SEND') REPLACE GET(ENABLED) DESCR('TSS app gets message from') USAGE(NORMAL)
DEFINE QLOCAL('CLUS.RIDE.SEND') REPLACE GET(ENABLED) DESCR('RIDE app gets message from') USAGE(NORMAL)
DEFINE QLOCAL('CLUS.FCSS.SEND') REPLACE GET(ENABLED) DESCR('FCSS app gets message from') USAGE(NORMAL)
DEFINE QALIAS('TDCS.SEND.ALIAS') REPLACE DESCR('TDCS alias queue') DEFPSIST(NO) TARGQ('CLUS.TDCS.SEND')
DEFINE QALIAS('TTS.SEND.ALIAS') REPLACE DESCR('TTS alias queue') DEFPSIST(NO) TARGQ('CLUS.TDCS.SEND')
DEFINE QALIAS('TSS.SEND.ALIAS') REPLACE DESCR('TSS alias queue') DEFPSIST(NO) TARGQ('CLUS.TDCS.SEND')
DEFINE QALIAS('RIDE.SEND.ALIAS') REPLACE DESCR('RIDE alias queue') DEFPSIST(NO) TARGQ('CLUS.TDCS.SEND')
DEFINE QALIAS('FCSS.SEND.ALIAS') REPLACE DESCR('FCSS alias queue') DEFPSIST(NO) TARGQ('CLUS.FCSS.SEND')
DEFINE QLOCAL('TDCS.STREAM') REPLACE DESCR('TDCS Stream queue')
DEFINE QLOCAL('TTS.STREAM') REPLACE DESCR('TTS Stream queue')
DEFINE QLOCAL('TSS.STREAM') REPLACE DESCR('TSS Stream queue')
DEFINE QLOCAL('RIDE.STREAM') REPLACE DESCR('RIDE Stream queue')
DEFINE QLOCAL('FCSS.STRAM') REPLACE DESCR('FCSS Stream queue')
DEFINE QALIAS('TDCS.PUB.ALIAS') REPLACE DESCR('TDCS alias Stream queue') DEFPSIST(NO) TARGQ('TDCS.STREAM')
DEFINE QALIAS('TTS.PUB.ALIAS') REPLACE DESCR('TTS alias Stream queue') DEFPSIST(NO) TARGQ('TTS.STREAM')
DEFINE QALIAS('TSS.PUB.ALIAS') REPLACE DESCR('TSS alias Stream queue') DEFPSIST(NO) TARGQ('TSS.STREAM')
DEFINE QALIAS('RIDE.PUB.ALIAS') REPLACE DESCR('RIDE alias Stream queue') DEFPSIST(NO) TARGQ('RIDE.STREAM')
DEFINE QALIAS('FCSS.PUB.ALIAS') REPLACE DESCR('FCSS alias Stream queue') DEFPSIST(NO) TARGQ('FCSS.STREAM')
DEFINE QLOCAL('TDCS.CONTROL') REPLACE DESCR('TDCS Control queue')
DEFINE QLOCAL('TTS.CONTROL') REPLACE DESCR('TTS Control queue')
DEFINE QLOCAL('TSS.CONTROL') REPLACE DESCR('TSS Control queue')
DEFINE QLOCAL('RIDE.CONTROL') REPLACE DESCR('RIDE Control queue')
DEFINE QLOCAL('FCSS.CONTROL') REPLACE DESCR('FCSS Control queue')
DEFINE QALIAS('TDCS.SUB.ALIAS') REPLACE DESCR('TDCS alias Control queue') DEFPSIST(NO) TARGQ('TDCS.CONGTROL')
DEFINE QALIAS('TTS.SUB.ALIAS') REPLACE DESCR('TTS alias Control queue') DEFPSIST(NO) TARGQ('TTS.CONTROL')
DEFINE QALIAS('TSS.SUB.ALIAS') REPLACE DESCR('TTS alias Control queue') DEFPSIST(NO) TARGQ('TTS.CONTROL')
DEFINE QALIAS('RIDE.SUB.ALIAS') REPLACE DESCR('RIDE alias Control queue') DEFPSIST(NO) TARGQ('RIDE.CONTROL')
DEFINE QALIAS('FCSS.SUB.ALIAS') REPLACE DESCR('FCSS alias Control queue') DEFPSIST(NO) TARGQ('FCSS.CONTROL')
DEFINE LISTENER (ITSMMS.LISTENER) TRPTYPE(TCP) CONTROL(QMGR) PORT(2187)
START LISTENER(ITSMMS.LISTENER)
EOF |
|
Back to top |
|
 |
PeterPotkay |
Posted: Wed Nov 12, 2008 5:25 pm Post subject: |
|
|
 Poobah
Joined: 15 May 2001 Posts: 7722
|
You don't appear to have any queues in the SIG cluster. How many other QMs are going to be in the cluster? All those other QMs won't be able to "see" all the local queues on this QM unless you cluster them.
Please read the MQ Clusters Manual, and follow the very detailed steps it provides to create a cluster. _________________ Peter Potkay
Keep Calm and MQ On |
|
Back to top |
|
 |
samsam007 |
Posted: Wed Nov 12, 2008 5:51 pm Post subject: |
|
|
 Centurion
Joined: 30 Oct 2008 Posts: 107
|
PeterPotkay wrote: |
You don't appear to have any queues in the SIG cluster. How many other QMs are going to be in the cluster? All those other QMs won't be able to "see" all the local queues on this QM unless you cluster them.
Please read the MQ Clusters Manual, and follow the very detailed steps it provides to create a cluster. |
There is another Qmgr - QM.ITSMMS2 defined in the first few lines of my code.
I thought as long as I create queues in the QM in Cluster, these queues will be available to the other Qmgrs within the Cluster?
Thanks |
|
Back to top |
|
 |
samsam007 |
Posted: Wed Nov 12, 2008 6:15 pm Post subject: |
|
|
 Centurion
Joined: 30 Oct 2008 Posts: 107
|
Hi,
I added CLUSTER(SIG) at the end of each QLOCAL.
If I want to duplicate the QM.ITSMMS Qmgr to another Qmgr within the Cluster, can I simply copy all QLOCAL and QALIIAS rules from QM.ITSMMS?
Thanks |
|
Back to top |
|
 |
samsam007 |
Posted: Wed Nov 12, 2008 7:23 pm Post subject: |
|
|
 Centurion
Joined: 30 Oct 2008 Posts: 107
|
Here is the MQSC scripts for two QMGRs in a cluster (SIG):
crtmqm -u SYSTEM.DEAD.LETTER.QUEUE ITSMMS
strmqm ITSMMS
runmqsc ITSMMS << EOF
ALTER QMGR REPOS(SIG)
ALTER QLOCAL(SYSTEM.DEAD.LETTER.QUEUE) DEFPSIST(YES) MAXMSGL(104857600)
DEFINE CHANNEL(TO.ITSMMS) CHLTYPE(CLUSRCVR) TRPTYPE(TCP) CONNAME('ITSMMS(2187)') CLUSTER(SIG) DESCR('TCP Cluster-receiver channel for queue manager ITSMMS') MCAUSER(NOUSER) REPLACE
DEFINE CHANNEL(TO.ITSMMS2) CHLTYPE(CLUSSDR) TRPTYPE(TCP) CONNAME('ITSMMS2(2188)') CLUSTER(SIG) DESCR('TCP Cluster-sender channel from ITSMMS to repository at ITSMMS2') MCAUSER(NOUSER) REPLACE
DEFINE QLOCAL('CLUS.TDCS.SEND') REPLACE GET(ENABLED) DESCR('TDCS app gets message from') USAGE(NORMAL) CLUSTER(SIG)
DEFINE QLOCAL('CLUS.TTS.SEND') REPLACE GET(ENABLED) DESCR('TTS app gets message from') USAGE(NORMAL) CLUSTER(SIG)
DEFINE QLOCAL('CLUS.TSS.SEND') REPLACE GET(ENABLED) DESCR('TSS app gets message from') USAGE(NORMAL) CLUSTER(SIG)
DEFINE QLOCAL('CLUS.RIDE.SEND') REPLACE GET(ENABLED) DESCR('RIDE app gets message from') USAGE(NORMAL) CLUSTER(SIG)
DEFINE QLOCAL('CLUS.FCSS.SEND') REPLACE GET(ENABLED) DESCR('FCSS app gets message from') USAGE(NORMAL) CLUSTER(SIG)
DEFINE QALIAS('TDCS.SEND.ALIAS') REPLACE DESCR('TDCS alias queue') DEFPSIST(NO) TARGQ('CLUS.TDCS.SEND')
DEFINE QALIAS('TTS.SEND.ALIAS') REPLACE DESCR('TTS alias queue') DEFPSIST(NO) TARGQ('CLUS.TDCS.SEND')
DEFINE QALIAS('TSS.SEND.ALIAS') REPLACE DESCR('TSS alias queue') DEFPSIST(NO) TARGQ('CLUS.TDCS.SEND')
DEFINE QALIAS('RIDE.SEND.ALIAS') REPLACE DESCR('RIDE alias queue') DEFPSIST(NO) TARGQ('CLUS.TDCS.SEND')
DEFINE QALIAS('FCSS.SEND.ALIAS') REPLACE DESCR('FCSS alias queue') DEFPSIST(NO) TARGQ('CLUS.FCSS.SEND')
DEFINE QLOCAL('TDCS.STREAM') REPLACE DESCR('TDCS Stream queue') CLUSTER(SIG)
DEFINE QLOCAL('TTS.STREAM') REPLACE DESCR('TTS Stream queue') CLUSTER(SIG)
DEFINE QLOCAL('TSS.STREAM') REPLACE DESCR('TSS Stream queue') CLUSTER(SIG)
DEFINE QLOCAL('RIDE.STREAM') REPLACE DESCR('RIDE Stream queue') CLUSTER(SIG)
DEFINE QLOCAL('FCSS.STRAM') REPLACE DESCR('FCSS Stream queue') CLUSTER(SIG)
DEFINE QALIAS('TDCS.PUB.ALIAS') REPLACE DESCR('TDCS alias Stream queue') DEFPSIST(NO) TARGQ('TDCS.STREAM')
DEFINE QALIAS('TTS.PUB.ALIAS') REPLACE DESCR('TTS alias Stream queue') DEFPSIST(NO) TARGQ('TTS.STREAM')
DEFINE QALIAS('TSS.PUB.ALIAS') REPLACE DESCR('TSS alias Stream queue') DEFPSIST(NO) TARGQ('TSS.STREAM')
DEFINE QALIAS('RIDE.PUB.ALIAS') REPLACE DESCR('RIDE alias Stream queue') DEFPSIST(NO) TARGQ('RIDE.STREAM')
DEFINE QALIAS('FCSS.PUB.ALIAS') REPLACE DESCR('FCSS alias Stream queue') DEFPSIST(NO) TARGQ('FCSS.STREAM')
DEFINE QLOCAL('TDCS.CONTROL') REPLACE DESCR('TDCS Control queue') CLUSTER(SIG)
DEFINE QLOCAL('TTS.CONTROL') REPLACE DESCR('TTS Control queue') CLUSTER(SIG)
DEFINE QLOCAL('TSS.CONTROL') REPLACE DESCR('TSS Control queue') CLUSTER(SIG)
DEFINE QLOCAL('RIDE.CONTROL') REPLACE DESCR('RIDE Control queue') CLUSTER(SIG)
DEFINE QLOCAL('FCSS.CONTROL') REPLACE DESCR('FCSS Control queue') CLUSTER(SIG)
DEFINE QALIAS('TDCS.SUB.ALIAS') REPLACE DESCR('TDCS alias Control queue') DEFPSIST(NO) TARGQ('TDCS.CONGTROL')
DEFINE QALIAS('TTS.SUB.ALIAS') REPLACE DESCR('TTS alias Control queue') DEFPSIST(NO) TARGQ('TTS.CONTROL')
DEFINE QALIAS('TSS.SUB.ALIAS') REPLACE DESCR('TTS alias Control queue') DEFPSIST(NO) TARGQ('TTS.CONTROL')
DEFINE QALIAS('RIDE.SUB.ALIAS') REPLACE DESCR('RIDE alias Control queue') DEFPSIST(NO) TARGQ('RIDE.CONTROL')
DEFINE QALIAS('FCSS.SUB.ALIAS') REPLACE DESCR('FCSS alias Control queue') DEFPSIST(NO) TARGQ('FCSS.CONTROL')
DEFINE LISTENER (ITSMMS.LISTENER) TRPTYPE(TCP) CONTROL(QMGR) PORT(2187)
START LISTENER(ITSMMS.LISTENER)
EOF
crtmqm -u SYSTEM.DEAD.LETTER.QUEUE ITSMMS2
strmqm ITSMMS2
runmqsc ITSMMS2 << EOF
ALTER QMGR REPOS(SIG)
ALTER QLOCAL(SYSTEM.DEAD.LETTER.QUEUE) DEFPSIST(YES) MAXMSGL(104857600)
DEFINE CHANNEL(TO.ITSMMS2) CHLTYPE(CLUSRCVR) TRPTYPE(TCP) CONNAME('ITSMMS2(2188)') CLUSTER(SIG) DESCR('TCP Cluster-receiver channel for queue manager ITSMMS2') MCAUSER(NOUSER) REPLACE
DEFINE CHANNEL(TO.ITSMMS) CHLTYPE(CLUSSDR) TRPTYPE(TCP) CONNAME('ITSMMS(2187)') CLUSTER(SIG) DESCR('TCP Cluster-sender channel from ITSMMS2 to repository at ITSMMS') MCAUSER(NOUSER) REPLACE
DEFINE QLOCAL('CLUS.TDCS.SEND') REPLACE GET(ENABLED) DESCR('TDCS app gets message from') USAGE(NORMAL) CLUSTER(SIG)
DEFINE QLOCAL('CLUS.TTS.SEND') REPLACE GET(ENABLED) DESCR('TTS app gets message from') USAGE(NORMAL) CLUSTER(SIG)
DEFINE QLOCAL('CLUS.TSS.SEND') REPLACE GET(ENABLED) DESCR('TSS app gets message from') USAGE(NORMAL) CLUSTER(SIG)
DEFINE QLOCAL('CLUS.RIDE.SEND') REPLACE GET(ENABLED) DESCR('RIDE app gets message from') USAGE(NORMAL) CLUSTER(SIG)
DEFINE QLOCAL('CLUS.FCSS.SEND') REPLACE GET(ENABLED) DESCR('FCSS app gets message from') USAGE(NORMAL) CLUSTER(SIG)
DEFINE QALIAS('TDCS.SEND.ALIAS') REPLACE DESCR('TDCS alias queue') DEFPSIST(NO) TARGQ('CLUS.TDCS.SEND')
DEFINE QALIAS('TTS.SEND.ALIAS') REPLACE DESCR('TTS alias queue') DEFPSIST(NO) TARGQ('CLUS.TDCS.SEND')
DEFINE QALIAS('TSS.SEND.ALIAS') REPLACE DESCR('TSS alias queue') DEFPSIST(NO) TARGQ('CLUS.TDCS.SEND')
DEFINE QALIAS('RIDE.SEND.ALIAS') REPLACE DESCR('RIDE alias queue') DEFPSIST(NO) TARGQ('CLUS.TDCS.SEND')
DEFINE QALIAS('FCSS.SEND.ALIAS') REPLACE DESCR('FCSS alias queue') DEFPSIST(NO) TARGQ('CLUS.FCSS.SEND')
DEFINE QLOCAL('TDCS.STREAM') REPLACE DESCR('TDCS Stream queue') CLUSTER(SIG)
DEFINE QLOCAL('TTS.STREAM') REPLACE DESCR('TTS Stream queue') CLUSTER(SIG)
DEFINE QLOCAL('TSS.STREAM') REPLACE DESCR('TSS Stream queue') CLUSTER(SIG)
DEFINE QLOCAL('RIDE.STREAM') REPLACE DESCR('RIDE Stream queue') CLUSTER(SIG)
DEFINE QLOCAL('FCSS.STRAM') REPLACE DESCR('FCSS Stream queue') CLUSTER(SIG)
DEFINE QALIAS('TDCS.PUB.ALIAS') REPLACE DESCR('TDCS alias Stream queue') DEFPSIST(NO) TARGQ('TDCS.STREAM')
DEFINE QALIAS('TTS.PUB.ALIAS') REPLACE DESCR('TTS alias Stream queue') DEFPSIST(NO) TARGQ('TTS.STREAM')
DEFINE QALIAS('TSS.PUB.ALIAS') REPLACE DESCR('TSS alias Stream queue') DEFPSIST(NO) TARGQ('TSS.STREAM')
DEFINE QALIAS('RIDE.PUB.ALIAS') REPLACE DESCR('RIDE alias Stream queue') DEFPSIST(NO) TARGQ('RIDE.STREAM')
DEFINE QALIAS('FCSS.PUB.ALIAS') REPLACE DESCR('FCSS alias Stream queue') DEFPSIST(NO) TARGQ('FCSS.STREAM')
DEFINE QLOCAL('TDCS.CONTROL') REPLACE DESCR('TDCS Control queue') CLUSTER(SIG)
DEFINE QLOCAL('TTS.CONTROL') REPLACE DESCR('TTS Control queue') CLUSTER(SIG)
DEFINE QLOCAL('TSS.CONTROL') REPLACE DESCR('TSS Control queue') CLUSTER(SIG)
DEFINE QLOCAL('RIDE.CONTROL') REPLACE DESCR('RIDE Control queue') CLUSTER(SIG)
DEFINE QLOCAL('FCSS.CONTROL') REPLACE DESCR('FCSS Control queue') CLUSTER(SIG)
DEFINE QALIAS('TDCS.SUB.ALIAS') REPLACE DESCR('TDCS alias Control queue') DEFPSIST(NO) TARGQ('TDCS.CONGTROL')
DEFINE QALIAS('TTS.SUB.ALIAS') REPLACE DESCR('TTS alias Control queue') DEFPSIST(NO) TARGQ('TTS.CONTROL')
DEFINE QALIAS('TSS.SUB.ALIAS') REPLACE DESCR('TTS alias Control queue') DEFPSIST(NO) TARGQ('TTS.CONTROL')
DEFINE QALIAS('RIDE.SUB.ALIAS') REPLACE DESCR('RIDE alias Control queue') DEFPSIST(NO) TARGQ('RIDE.CONTROL')
DEFINE QALIAS('FCSS.SUB.ALIAS') REPLACE DESCR('FCSS alias Control queue') DEFPSIST(NO) TARGQ('FCSS.CONTROL')
DEFINE LISTENER (ITSMMS2.LISTENER) TRPTYPE(TCP) CONTROL(QMGR) PORT(2188)
START LISTENER(ITSMMS2.LISTENER)
EOF
I hope this time almost right.
Apart from the security, is there anything missing?
I will very appreciate for further comment.
Thanks |
|
Back to top |
|
 |
samsam007 |
Posted: Wed Nov 12, 2008 8:03 pm Post subject: |
|
|
 Centurion
Joined: 30 Oct 2008 Posts: 107
|
I just realised I have to add CLUSTER(SIG) at the end of each alias queue as well.
BTW, What tool can I use to create MQSC scripts easier?
and how to check its syntax correction before execute the script?
Thanks |
|
Back to top |
|
 |
fjb_saper |
Posted: Wed Nov 12, 2008 9:53 pm Post subject: |
|
|
 Grand High Poobah
Joined: 18 Nov 2003 Posts: 20757 Location: LI,NY
|
samsam007 wrote: |
I just realised I have to add CLUSTER(SIG) at the end of each alias queue as well.
BTW, What tool can I use to create MQSC scripts easier?
and how to check its syntax correction before execute the script?
Thanks |
Create the script once, run it on the first qmgr, and use MS03 support pack to save to a file. When you need to create a clone copy the saved file, edit it to delete cluster receiver channels and stuff like that... review it and add what is missing then runit on qmgr 2 etc....  _________________ MQ & Broker admin |
|
Back to top |
|
 |
samsam007 |
Posted: Wed Nov 12, 2008 10:34 pm Post subject: |
|
|
 Centurion
Joined: 30 Oct 2008 Posts: 107
|
fjb_saper wrote: |
samsam007 wrote: |
I just realised I have to add CLUSTER(SIG) at the end of each alias queue as well.
BTW, What tool can I use to create MQSC scripts easier?
and how to check its syntax correction before execute the script?
Thanks |
Create the script once, run it on the first qmgr, and use MS03 support pack to save to a file. When you need to create a clone copy the saved file, edit it to delete cluster receiver channels and stuff like that... review it and add what is missing then runit on qmgr 2 etc....  |
I use WMQ v6.0, do I still need to install the Support Pack?
and how to use the Support Pack to save the first instance into a script file?
Thanks |
|
Back to top |
|
 |
ranganathan |
Posted: Wed Nov 12, 2008 10:59 pm Post subject: |
|
|
 Centurion
Joined: 03 Jul 2008 Posts: 104
|
IMHO, please do not try to learn everything through posts..
Read up... |
|
Back to top |
|
 |
exerk |
Posted: Thu Nov 13, 2008 12:36 am Post subject: |
|
|
 Jedi Council
Joined: 02 Nov 2006 Posts: 6339
|
samsam007 wrote: |
I just realised I have to add CLUSTER(SIG) at the end of each alias queue as well... |
No, you don't...
If I understand your setup correctly, you have three queue managers in the cluster, two of which host the queues and a third that will send messages to the queues.
In the queue managers hosting the queues you do not need aliases, just the locals which must be shared in the cluster. In the queue manager that will send messages you just need the aliases, NOT shared in the cluster.
...or I am totally confused by now!
Please get training, please read manuals, please experiment even if you crash and burn. Learn the basics first because you are in danger of choking on the amount of information you are trying to swallow. _________________ It's puzzling, I don't think I've ever seen anything quite like this before...and it's hard to soar like an eagle when you're surrounded by turkeys. |
|
Back to top |
|
 |
Michael Dag |
Posted: Thu Nov 13, 2008 1:04 am Post subject: |
|
|
 Jedi Knight
Joined: 13 Jun 2002 Posts: 2607 Location: The Netherlands (Amsterdam)
|
|
Back to top |
|
 |
fjb_saper |
Posted: Thu Nov 13, 2008 1:34 pm Post subject: |
|
|
 Grand High Poobah
Joined: 18 Nov 2003 Posts: 20757 Location: LI,NY
|
samsam007 wrote: |
I use WMQ v6.0, do I still need to install the Support Pack? |
Yes you still have to install the support pack (MS03). You can install it to any machine with a client connection to the MQServer or on the MQServer
samsam007 wrote: |
and how to use the Support Pack to save the first instance into a script file?
Thanks |
Check out the read me file and other samples within the support pack distro.  _________________ MQ & Broker admin |
|
Back to top |
|
 |
|