Why and when to perform this task
If you are creating a WebSphere
® cluster setup of Business
Process Choreographer using a WebSphere MQ cluster, you must create
the queue managers, queues, cluster, repositories, channels, and listeners.
Steps for this task
- If your WebSphere cluster
consists of UNIX® nodes,
perform the following actions on each node:
- Make sure that your user ID has the authority to create WebSphere MQ
queues.
- Create the get and put queue managers, make them members of
the WebSphere MQ
cluster, and create the queues by entering the commands:
cd install_root/ProcessChoreographer
createQueues.sh getQueueManager clusterName putQueueManager
where:
- getQueueManager
- The unique name to give to the get queue manager. This queue manager hosts
all of the local queues.
- clusterName
- The name of the WebSphere MQ cluster of which all the queue managers
are a member.
- putQueueManager
- The unique name for the put queue manager. This queue manager hosts no
queues, which ensures that messages are distributed across all the get queues.
If the queue managers already exist, they are used.
If the queue managers do not exist, they are created and used.
- Start the WebSphere MQ command processor by entering the
command:
runmqsc getQueueManager
- For complex setups, it is recommended to enable remote administration
of the queue manager by entering the following MQ command:
DEFINE CHANNEL('SYSTEM.ADMIN.SVRCONN') TYPE(CHLTYPE)
- If this queue manager is to be a repository for the WebSphere MQ
cluster enter the MQ command:
ALTER QMGR REPOS('clusterName') REPOSNL(' ')
- Define a sender and a receiver channel for the queue manager
to each repository that is not hosted on this machine, by entering the following
MQ commands. For each cluster receiver channel:
DEFINE CHANNEL('TO.repositoryQueueManager.TCP') +
CHLTYPE(CLUSRCVR) +
CLUSTER('clusterName') +
CLUSNL(' ') +
CONNAME('repositoryIP-Address(port)') +
DESCR('Cluster receiver channel at repositoryQueueManager TCPIP') +
MAXMSGL(4194304) +
TRPTYPE(TCP) +
MCAUSER('principal') +
REPLACE
For each cluster sender channel:
DEFINE CHANNEL('TO.repositoryQueueManager.TCP') +
CHLTYPE(CLUSSDR) +
CONNAME('repositoryIP-Address(port)') +
CLUSTER('clusterName') +
CLUSNL(' ') +
DESCR('Cluster sender channel to repositoryQueueManager TCPIP') +
MAXMSGL(4194304) +
TRPTYPE(TCP) +
MCAUSER('targetPrincipal') +
REPLACE +
NPMSPEED (NORMAL)
where:
- repositoryQueueManager
- The name of the queue manager hosting a repository.
- clusterName
- The name of the WebSphere MQ cluster of which all the queue managers
are a member.
- repositoryIP-Address
- The IP address of the node where the repository queue manager resides.
- port
- The IP port that the repository queue manager is using.
- principal, targetPrincipal
- The MCAUSER to use for the receive and send channels. For more information
about this value refer to the WebSphere MQ documentation.
- For each queue manager, start a listener by entering the MQ
command:
runmqlsr -t tcp -p port -m QueueManager
- If your WebSphere cluster
consists of Windows® nodes, perform the following actions on each
node:
- Make sure that your user ID has the authority to create WebSphere MQ
queues.
- Create the "get" queue manager, make it a member of the WebSphere MQ
cluster, and create the queues by entering the commands:
cd install_root\ProcessChoreographer
createQueues.bat getQueueManager clusterName putQueueManager
where:
- getQueueManager
- The unique name to give to the get queue manager. This queue manager hosts
all of the local queues.
- clusterName
- The name of the WebSphere MQ cluster of which all the queue managers
are a member.
- putQueueManager
- The unique name for the put queue manager. This queue manager hosts no
queues, which ensures that messages are distributed across all the get queues.
If the queues already exist they are used. If the queues
do not exist, they are created and used.
- Start the WebSphere MQ command processor by entering the
command:
runmqsc queueManager
- For complex setups, it is recommended that you enable remote
administration of the queue manager by entering the following MQ command:
DEFINE CHANNEL('SYSTEM.ADMIN.SVRCONN') TYPE(CHLTYPE)
- If this queue manager is to be a repository for the WebSphere MQ
cluster enter the MQ command:
ALTER QMGR REPOS('clusterName') REPOSNL(' ')
- Define a sender and a receiver channel for the queue manager
to each repository that is not hosted on this machine, by entering the following
MQ commands. For each cluster receiver channel:
DEFINE CHANNEL('TO.repositoryQueueManager.TCP') +
CHLTYPE(CLUSRCVR) +
CLUSTER('clusterName') +
CLUSNL(' ') +
CONNAME('repositoryIP-Address(port)') +
DESCR('Cluster receiver channel at repositoryQueueManager TCPIP') +
MAXMSGL(4194304) +
TRPTYPE(TCP) +
MCAUSER('principal') +
REPLACE
For each cluster sender channel:
DEFINE CHANNEL('TO.repositoryQueueManager.TCP') +
CHLTYPE(CLUSSDR) +
CONNAME('repositoryIP-Address(port)') +
CLUSTER('clusterName') +
CLUSNL(' ') +
DESCR('Cluster sender channel to repositoryQueueManager TCPIP') +
MAXMSGL(4194304) +
TRPTYPE(TCP) +
MCAUSER('principal') +
REPLACE +
NPMSPEED (NORMAL)
where:
- repositoryQueueManager
- The name of the queue manager hosting a repository.
- clusterName
- The name of the WebSphere MQ cluster to which all the queue managers
are a member.
- repositoryIP-Address
- The IP address of the node where the repository queue manager resides.
- port
- The IP port that the repository queue manager is using.
- principal
- The MCAUSER to use. For more information about this value, refer to the WebSphere MQ
documentation.
- For each queue manager, start a listener by entering the MQ
command:
runmqlsr -t tcp -p port -m QueueManager
- Optional: To verify the status of the channels on a
machine, enter the MQ command:
display chstatus(*)
Result
The queue managers, queues, cluster, repositories, channels, and listeners
exist.