Amqwag 02
Amqwag 02
SC34-6586-00
SC34-6586-00
Note! Before using this information and the product it supports, be sure to read the general information under Appendix E, Notices, on page 475.
First edition (May 2005) This edition of the book applies to IBM WebSphere MQ for iSeries, Version 6.0, and to any subsequent releases and modifications until otherwise indicated in new editions. Copyright International Business Machines Corporation 1994, 2005. All rights reserved. US Government Users Restricted Rights Use, duplication or disclosure restricted by GSA ADP Schedule Contract with IBM Corp.
Contents
Figures . . . . . . . . . . . . . . xv Tables . . . . . . . . . . . . . . xvii About this book . . . . . . . . . . xix
Who this book is for . . What you need to know to How to use this book . . Terms used in this book . . . . . . . . . xix understand this book xix . . . . . . . . . xix . . . . . . . . . xx Creating WebSphere MQ objects . . . . . Examples of creating a local queue . . . Examples of creating a remote queue . . . Creating a transmission queue . . . . . Creating an initiation queue . . . . . . Creating an alias queue . . . . . . . Creating a model queue . . . . . . . Altering queue manager attributes . . . . Working with local queues . . . . . . . Defining a local queue . . . . . . . . Defining a dead-letter queue . . . . . Displaying default object attributes . . . Copying a local queue definition . . . . Changing local queue attributes . . . . Clearing a local queue . . . . . . . . Deleting a local queue . . . . . . . . Enabling large queues . . . . . . . . Working with alias queues . . . . . . . Defining an alias queue . . . . . . . Using other commands with alias queues . Working with model queues . . . . . . . Defining a model queue . . . . . . . Using other commands with model queues . Working with triggering . . . . . . . . What is triggering? . . . . . . . . . What is the trigger monitor? . . . . . . Altering the job submission attributes of the trigger monitor . . . . . . . . . . Setting up objects for triggering . . . . Communicating between two systems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 19 21 23 23 23 23 24 24 24 25 25 25 26 26 26 26 26 27 28 28 28 28 29 29 29
. 29 . 30 . 32
. 39 . 40 . 40 . . . . . 40 41 41 41 42
. . . . .
. . . . .
. . . . .
. . . . .
15 15 18 18 18
iii
How WebSphere MQ uses the work management objects . . . . . . . . . . . . . . . The WebSphere MQ message queue . . . . Configuring work management . . . . . .
iv
. 135
Text description (TEXT) . . . . . . . . Trigger interval (TRGITV) . . . . . . . . Undelivered message queue (UDLMSGQ) . . . Default transmission queue (DFTTMQ) . . . . Maximum handle limit (MAXHDL) . . . . . Maximum uncommitted messages (MAXUMSG) Authorization events enabled (AUTEVT) . . . Inhibit events enabled (INHEVT) . . . . . . Local error events enabled (LCLERREVT) . . . Remote error events enabled (RMTERREVT) Performance events enabled (PFREVT) . . . . Start and stop events enabled (STRSTPEVT) . . Automatic Channel Definition (CHAD) . . . . Auto Chan. Def. events enabled (CHADEV) . . Auto Chan. Def. exit program (CHADEXIT) . . Maximum Message Length (MAXMSGL) . . . Coded Character Set (CCSID) . . . . . . . Cluster Workload Exit Data (CLWLDATA). . . Cluster Workload Exit (CLWLEXIT) . . . . . Cluster Workload Exit Data Length (CLWLLEN) Repository name (REPOS) . . . . . . . . Repository name list (REPOSNL) . . . . . . SSL CRL Namelist (SSLCRLNL) . . . . . . SSL Key Repository (SSLKEYR) . . . . . . SSL Repository Password (SSLKEYRPWD) . . SSL key reset count (SSLRSTCNT) . . . . . IP protocol (IPADDRV) . . . . . . . . . Outbound cluster channels (CLWLMRUC). . . Remote cluster puts (CLWLUSEQ) . . . . . Log recovery events enabled (LOGGEREVT) Channel events enabled (CHLEVT) . . . . . SSL events enabled (SSLEVT) . . . . . . . Channel initiator control (SCHINIT) . . . . . Command server control (SCMDSERV) . . . . Queue Monitoring (MONQ) . . . . . . . Channel Monitoring (MONCHL) . . . . . . Cluster Sender Monitoring (MONACLS) . . . Queue Manager Statistics (STATMQI) . . . . Queue Statistics (STATQ) . . . . . . . . Channel Statistics (STATCHL) . . . . . . . Cluster Sender Statistics (STATACLS) . . . . Statistics Interval (STATINT) . . . . . . . MQI Accounting (ACCTMQI) . . . . . . . Queue Accounting (ACCTQ) . . . . . . . Accounting Interval (ACCTINT) . . . . . . Accounting Override (ACCTCONO). . . . . Trace Route Recording (ROUTEREC) . . . . Activity Recording (ACTIVREC) . . . . . . Change MQ AuthInfo object (CHGMQMAUTI) . . Parameters . . . . . . . . . . . . . AuthInfo name (AINAME) . . . . . . . . Message Queue Manager name (MQMNAME) Connection name (CONNAME) . . . . . . Text description (TEXT) . . . . . . . . User name (USERNAME) . . . . . . . . User password (PASSWORD) . . . . . . . Change MQ Channel (CHGMQMCHL) . . . . . Parameters . . . . . . . . . . . . . Channel name (CHLNAME) . . . . . . . Message Queue Manager name (MQMNAME) Channel type (CHLTYPE) . . . . . . . .
Contents
202 203 203 203 204 204 204 204 205 205 205 205 205 206 206 206 206 207 207 207 207 208 208 208 209 209 209 210 210 210 210 211 211 211 212 212 213 213 213 213 214 214 214 215 215 215 215 216 216 216 216 216 216 217 217 217 217 218 218 218 218
Transport type (TRPTYPE) . . . . . . . Text description (TEXT) . . . . . . . Target Queue Manager (TGTMQMNAME) . Connection name (CONNAME) . . . . . Transaction Program Name (TPNAME) . . . Mode Name (MODENAME) . . . . . . Transmission queue (TMQNAME) . . . . Message channel agent (MCANAME) . . . Message channel agent user ID (MCAUSRID) Message channel agent Type (MCATYPE) . . Batch Interval (BATCHINT) . . . . . . Batch size (BATCHSIZE) . . . . . . . Disconnect interval (DSCITV) . . . . . . Short retry interval (SHORTTMR) . . . . Short retry count (SHORTRTY) . . . . . Long retry interval (LONGTMR) . . . . . Long retry count (LONGRTY) . . . . . . Security exit (SCYEXIT) . . . . . . . . Security exit user data (SCYUSRDATA). . . Send exit (SNDEXIT) . . . . . . . . . Send exit user data (SNDUSRDATA) . . . Receive exit (RCVEXIT) . . . . . . . . Receive exit user data (RCVUSRDATA) . . . Message exit (MSGEXIT) . . . . . . . Message exit user data (MSGUSRDATA) . . Message retry exit (MSGRTYEXIT) . . . . Message retry exit data (MSGRTYDATA) . . Number of message retries (MSGRTYNBR) . Message retry interval (MSGRTYITV) . . . Convert message (CVTMSG) . . . . . . Put authority (PUTAUT). . . . . . . . Sequence number wrap (SEQNUMWRAP) . Maximum message length (MAXMSGLEN) . Heartbeat interval (HRTBTINTVL) . . . . Non Persistent Message Speed (NPMSPEED) Cluster Name (CLUSTER) . . . . . . . Cluster Name List (CLUSNL) . . . . . . Network Connection Priority (NETPRTY) . . SSL CipherSpec (SSLCIPH) . . . . . . . SSL Client Authentication (SSLCAUTH) . . SSL Peer name (SSLPEER) . . . . . . . Local communication address (LOCLADDR) Batch Heartbeat Interval (BATCHHB) . . . Task user identifier (USERID) . . . . . . Password (PASSWORD) . . . . . . . . Keep Alive Interval (KAINT) . . . . . . Header Compression (COMPHDR) . . . . Message Compression (COMPMSG) . . . . Channel Monitoring (MONCHL) . . . . . Channel Statistics (STATCHL) . . . . . . Cluster Workload Rank (CLWLRANK) . . . Cluster Workload Priority (CLWLPRTY) . . Cluster Channel Weight (CLWLWGHT). . . Change MQ Listener (CHGMQMLSR) . . . . Parameters . . . . . . . . . . . . Listener name (LSRNAME) . . . . . . . Message Queue Manager name (MQMNAME) Text description (TEXT) . . . . . . . Listener control (CONTROL) . . . . . . Port number (PORT) . . . . . . . . . IP Address (IPADDR) . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
219 219 219 219 220 220 221 221 221 222 222 222 223 223 223 223 224 224 224 225 225 225 226 226 226 226 227 227 227 228 228 228 228 229 229 229 229 230 230 230 230 231 231 231 232 232 232 233 233 234 234 234 234 235 235 235 235 235 235 236 236
Listener backlog (BACKLOG) . . . . . . Change MQ Namelist (CHGMQMNL) . . . . Parameters . . . . . . . . . . . . Namelist (NAMELIST) . . . . . . . . Message Queue Manager name (MQMNAME) Text description (TEXT) . . . . . . . List of Names (NAMES) . . . . . . . . Change MQ Process (CHGMQMPRC) . . . . Parameters . . . . . . . . . . . . Process name (PRCNAME) . . . . . . . Message Queue Manager name (MQMNAME) Text description (TEXT) . . . . . . . Application type (APPTYPE) . . . . . . Application identifier (APPID) . . . . . User data (USRDATA) . . . . . . . . Environment data (ENVDATA) . . . . . Change MQ Queue (CHGMQMQ) . . . . . Parameters . . . . . . . . . . . . Queue name (QNAME) . . . . . . . . Message Queue Manager name (MQMNAME) Queue type (QTYPE) . . . . . . . . . Force (FORCE) . . . . . . . . . . . Text description (TEXT) . . . . . . . Put enabled (PUTENBL) . . . . . . . . Default message priority (DFTPTY) . . . . Default message persistence (DFTMSGPST) . Process name (PRCNAME) . . . . . . . Triggering enabled (TRGENBL) . . . . . Get enabled (GETENBL) . . . . . . . . Sharing enabled (SHARE) . . . . . . . Default share option (DFTSHARE) . . . . Message delivery sequence (MSGDLYSEQ) . Harden backout count (HDNBKTCNT) . . . Trigger type (TRGTYPE) . . . . . . . . Trigger depth (TRGDEPTH) . . . . . . Trigger message priority (TRGMSGPTY) . . Trigger data (TRGDATA) . . . . . . . Retention interval (RTNITV) . . . . . . Maximum queue depth (MAXDEPTH) . . . Maximum message length (MAXMSGLEN) . Backout threshold (BKTTHLD) . . . . . Backout requeue name (BKTQNAME) . . . Initiation queue (INITQNAME) . . . . . Usage (USAGE) . . . . . . . . . . Definition type (DFNTYPE) . . . . . . Target queue (TGTQNAME) . . . . . . Remote queue (RMTQNAME) . . . . . . Remote Message Queue Manager (RMTMQMNAME) . . . . . . . . . Transmission queue (TMQNAME) . . . . Queue depth high threshold (HIGHTHLD) . Queue depth low threshold (LOWTHLD) . . Queue full events enabled (FULLEVT) . . . Queue high events enabled (HIGHEVT) . . Queue low events enabled (LOWEVT) . . . Service interval (SRVITV) . . . . . . . Service interval events (SRVEVT) . . . . . Distribution list support (DISTLIST) . . . . Cluster Name (CLUSTER) . . . . . . . Cluster Name List (CLUSNL) . . . . . . Default Binding (DEFBIND) . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
236 236 236 236 237 237 237 237 237 237 237 238 238 239 239 239 240 240 240 240 240 240 241 241 242 242 242 242 243 243 243 243 244 244 244 244 245 245 245 246 246 246 247 247 247 247 248 248 249 249 249 250 250 250 250 250 251 251 251 252
vi
Cluster Workload Rank (CLWLRANK) . . . Cluster Workload Priority (CLWLPRTY) . . Remote cluster puts (CLWLUSEQ) . . . . Queue Monitoring (MONQ) . . . . . . Queue Statistics (STATQ) . . . . . . . Queue Accounting (ACCTQ) . . . . . . Non Persistent Message Class (NPMCLASS) . Change MQ Service (CHGMQMSVC) . . . . Parameters . . . . . . . . . . . . Service name (SVCNAME) . . . . . . . Message Queue Manager name (MQMNAME) Text description (TEXT) . . . . . . . Start program (STRCMD) . . . . . . . Start program arguments (STRARG) . . . . End program (ENDCMD) . . . . . . . End program arguments (ENDARG) . . . Standard output (STDOUT) . . . . . . Standard error (STDERR) . . . . . . . Service type (TYPE) . . . . . . . . . Service control (CONTROL) . . . . . . Clear WebSphere MQ Publish/Sub (CLRMQMBRK) . . . . . . . . . . . Parameters . . . . . . . . . . . . Message Queue Manager name (MQMNAME) Break Parent link (BRKPARENT) . . . . . Child Message Queue Manager (CHILDMQM) Clear MQ Queue (CLRMQMQ) . . . . . . Parameters . . . . . . . . . . . . Queue name (QNAME) . . . . . . . . Message Queue Manager name (MQMNAME) Copy MQ AuthInfo object (CPYMQMAUTI) . . Parameters . . . . . . . . . . . . From AuthInfo name (FROMAI) . . . . . To AuthInfo name (TOAI) . . . . . . . Message Queue Manager name (MQMNAME) AuthInfo type (AUTHTYPE) . . . . . . Connection name (CONNAME) . . . . . Replace (REPLACE) . . . . . . . . . Text description (TEXT) . . . . . . . User name (USERNAME) . . . . . . . User password (PASSWORD) . . . . . . Copy MQ Channel (CPYMQMCHL) . . . . . Parameters . . . . . . . . . . . . From channel (FROMCHL) . . . . . . . To channel (TOCHL) . . . . . . . . . Message Queue Manager name (MQMNAME) Channel type (CHLTYPE) . . . . . . . Replace (REPLACE) . . . . . . . . . Transport type (TRPTYPE) . . . . . . . Text description (TEXT) . . . . . . . Target Queue Manager (TGTMQMNAME) . Connection name (CONNAME) . . . . . Transaction Program Name (TPNAME) . . . Mode Name (MODENAME) . . . . . . Transmission queue (TMQNAME) . . . . Message channel agent (MCANAME) . . . Message channel agent user ID (MCAUSRID) Message channel agent Type (MCATYPE) . . Batch Interval (BATCHINT) . . . . . . Batch size (BATCHSIZE) . . . . . . . Disconnect interval (DSCITV) . . . . . .
. . . . . . . . . . . . . . . . . . .
252 252 252 253 253 253 254 254 254 254 254 254 255 255 255 255 256 256 256 256
. 257 . 257 257 . 257 257 . 257 . 257 . 258 258 . 258 . 258 . 258 . 258 258 . 259 . 259 . 259 . 259 . 260 . 260 . 260 . 260 . 260 . 261 261 . 261 . 261 . 262 . 262 . 262 . 262 . 263 . 263 . 264 . 264 264 . 265 . 265 . 265 . 266
Short retry interval (SHORTTMR) . . . . Short retry count (SHORTRTY) . . . . . Long retry interval (LONGTMR) . . . . . Long retry count (LONGRTY) . . . . . . Security exit (SCYEXIT) . . . . . . . . Security exit user data (SCYUSRDATA). . . Send exit (SNDEXIT) . . . . . . . . . Send exit user data (SNDUSRDATA) . . . Receive exit (RCVEXIT) . . . . . . . . Receive exit user data (RCVUSRDATA) . . . Message exit (MSGEXIT) . . . . . . . Message exit user data (MSGUSRDATA) . . Message retry exit (MSGRTYEXIT) . . . . Message retry exit data (MSGRTYDATA) . . Number of message retries (MSGRTYNBR) . Message retry interval (MSGRTYITV) . . . Convert message (CVTMSG) . . . . . . Put authority (PUTAUT). . . . . . . . Sequence number wrap (SEQNUMWRAP) . Maximum message length (MAXMSGLEN) . Heartbeat interval (HRTBTINTVL) . . . . Non Persistent Message Speed (NPMSPEED) Cluster Name (CLUSTER) . . . . . . . Cluster Name List (CLUSNL) . . . . . . Network Connection Priority (NETPRTY) . . SSL CipherSpec (SSLCIPH) . . . . . . . SSL Client Authentication (SSLCAUTH) . . SSL Peer name (SSLPEER) . . . . . . . Local communication address (LOCLADDR) Batch Heartbeat Interval (BATCHHB) . . . Task user identifier (USERID) . . . . . . Password (PASSWORD) . . . . . . . . Keep Alive Interval (KAINT) . . . . . . Header Compression (COMPHDR) . . . . Message Compression (COMPMSG) . . . . Channel Monitoring (MONCHL) . . . . . Channel Statistics (STATCHL) . . . . . . Cluster Workload Rank (CLWLRANK) . . . Cluster Workload Priority (CLWLPRTY) . . Cluster Channel Weight (CLWLWGHT). . . Copy MQ Listener (CPYMQMLSR) . . . . . Parameters . . . . . . . . . . . . From Listener (FROMLSR) . . . . . . . To Listener (TOLSR) . . . . . . . . . Message Queue Manager name (MQMNAME) Replace (REPLACE) . . . . . . . . . Text description (TEXT) . . . . . . . Listener control (CONTROL) . . . . . . Port number (PORT) . . . . . . . . . IP Address (IPADDR) . . . . . . . . Listener backlog (BACKLOG) . . . . . . Copy MQ Namelist (CPYMQMNL) . . . . . Parameters . . . . . . . . . . . . From Namelist (FROMNL) . . . . . . . To Namelist (TONL) . . . . . . . . . Message Queue Manager name (MQMNAME) Replace (REPLACE) . . . . . . . . . Text description (TEXT) . . . . . . . List of Names (NAMES) . . . . . . . . Copy MQ Process (CPYMQMPRC) . . . . . Parameters . . . . . . . . . . . .
Contents
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
266 266 266 267 267 267 268 268 268 269 269 269 269 270 270 270 271 271 271 271 272 272 272 272 273 273 273 273 274 274 274 275 275 275 276 276 277 277 277 277 278 278 278 278 278 278 279 279 279 279 280 280 280 280 280 280 280 280 281 281 281
vii
From process (FROMPRC) . . . . . . . To process (TOPRC) . . . . . . . . . Message Queue Manager name (MQMNAME) Replace (REPLACE) . . . . . . . . . Text description (TEXT) . . . . . . . Application type (APPTYPE) . . . . . . Application identifier (APPID) . . . . . User data (USRDATA) . . . . . . . . Environment data (ENVDATA) . . . . . Copy MQ Queue (CPYMQMQ) . . . . . . Parameters . . . . . . . . . . . . From queue name (FROMQ) . . . . . . To queue name (TOQ) . . . . . . . . Message Queue Manager name (MQMNAME) Queue type (QTYPE) . . . . . . . . . Replace (REPLACE) . . . . . . . . . Text description (TEXT) . . . . . . . Put enabled (PUTENBL) . . . . . . . . Default message priority (DFTPTY) . . . . Default message persistence (DFTMSGPST) . Process name (PRCNAME) . . . . . . . Triggering enabled (TRGENBL) . . . . . Get enabled (GETENBL) . . . . . . . . Sharing enabled (SHARE) . . . . . . . Default share option (DFTSHARE) . . . . Message delivery sequence (MSGDLYSEQ) . Harden backout count (HDNBKTCNT) . . . Trigger type (TRGTYPE) . . . . . . . . Trigger depth (TRGDEPTH) . . . . . . Trigger message priority (TRGMSGPTY) . . Trigger data (TRGDATA) . . . . . . . Retention interval (RTNITV) . . . . . . Maximum queue depth (MAXDEPTH) . . . Maximum message length (MAXMSGLEN) . Backout threshold (BKTTHLD) . . . . . Backout requeue name (BKTQNAME) . . . Initiation queue (INITQNAME) . . . . . Usage (USAGE) . . . . . . . . . . Definition type (DFNTYPE) . . . . . . Target queue (TGTQNAME) . . . . . . Remote queue (RMTQNAME) . . . . . . Remote Message Queue Manager (RMTMQMNAME) . . . . . . . . . Transmission queue (TMQNAME) . . . . Queue depth high threshold (HIGHTHLD) . Queue depth low threshold (LOWTHLD) . . Queue full events enabled (FULLEVT) . . . Queue high events enabled (HIGHEVT) . . Queue low events enabled (LOWEVT) . . . Service interval (SRVITV) . . . . . . . Service interval events (SRVEVT) . . . . . Distribution list support (DISTLIST) . . . . Cluster Name (CLUSTER) . . . . . . . Cluster Name List (CLUSNL) . . . . . . Default Binding (DEFBIND) . . . . . . Cluster Workload Rank (CLWLRANK) . . . Cluster Workload Priority (CLWLPRTY) . . Remote cluster puts (CLWLUSEQ) . . . . Queue Monitoring (MONQ) . . . . . . Queue Statistics (STATQ) . . . . . . . Queue Accounting (ACCTQ) . . . . . .
. 281 . 281 281 . 282 . 282 . 282 . 283 . 283 . 284 . 284 . 284 . 284 . 284 285 . 285 . 285 . 285 . 285 . 286 . 286 . 286 . 286 . 287 . 287 . 287 . 287 . 288 . 288 . 288 . 289 . 289 . 289 . 290 . 290 . 290 . 290 . 291 . 291 . 291 . 292 . 292 . . . . . . . . . . . . . . . . . . . 292 293 293 293 294 294 294 294 294 295 295 295 296 296 296 296 297 297 297
Non Persistent Message Class (NPMCLASS) . . Copy MQ Service (CPYMQMSVC) . . . . . . Parameters . . . . . . . . . . . . . From Service (FROMSVC) . . . . . . . . To Service (TOSVC) . . . . . . . . . . Message Queue Manager name (MQMNAME) Replace (REPLACE) . . . . . . . . . . Text description (TEXT) . . . . . . . . Start program (STRCMD) . . . . . . . . Start program arguments (STRARG) . . . . . End program (ENDCMD) . . . . . . . . End program arguments (ENDARG) . . . . Standard output (STDOUT) . . . . . . . Standard error (STDERR) . . . . . . . . Service type (TYPE) . . . . . . . . . . Service control (CONTROL) . . . . . . . Create Message Queue Manager (CRTMQM) . . . Parameters . . . . . . . . . . . . . Message Queue Manager name (MQMNAME) Text description (TEXT) . . . . . . . . Trigger interval (TRGITV) . . . . . . . . Undelivered message queue (UDLMSGQ) . . . Default transmission queue (DFTTMQ) . . . . Maximum handle limit (MAXHDL) . . . . . Maximum uncommitted messages (MAXUMSG) Default Queue Manager (DFTQMGR) . . . . Queue Manager Library (MQMLIB) . . . . . ASP Number (ASP) . . . . . . . . . . Journal receiver threshold (THRESHOLD) . . . Create MQ AuthInfo object (CRTMQMAUTI) . . . Parameters . . . . . . . . . . . . . AuthInfo name (AINAME) . . . . . . . . Message Queue Manager name (MQMNAME) AuthInfo type (AUTHTYPE) . . . . . . . Connection name (CONNAME) . . . . . . Replace (REPLACE) . . . . . . . . . . Text description (TEXT) . . . . . . . . User name (USERNAME) . . . . . . . . User password (PASSWORD) . . . . . . . Create MQ Channel (CRTMQMCHL) . . . . . Parameters . . . . . . . . . . . . . Channel name (CHLNAME) . . . . . . . Channel type (CHLTYPE) . . . . . . . . Message Queue Manager name (MQMNAME) Replace (REPLACE) . . . . . . . . . . Transport type (TRPTYPE) . . . . . . . . Text description (TEXT) . . . . . . . . Target Queue Manager (TGTMQMNAME) . . Connection name (CONNAME) . . . . . . Transaction Program Name (TPNAME) . . . . Mode Name (MODENAME) . . . . . . . Transmission queue (TMQNAME) . . . . . Message channel agent (MCANAME) . . . . Message channel agent user ID (MCAUSRID) Message channel agent Type (MCATYPE) . . . Batch Interval (BATCHINT) . . . . . . . Batch size (BATCHSIZE) . . . . . . . . . Disconnect interval (DSCITV) . . . . . . . Short retry interval (SHORTTMR) . . . . . Short retry count (SHORTRTY) . . . . . . Long retry interval (LONGTMR) . . . . . .
298 298 298 298 298 299 299 299 299 299 300 300 300 300 301 301 301 301 301 302 302 302 302 303 303 303 303 303 304 304 304 304 304 305 305 305 305 306 306 306 306 306 307 307 307 307 308 308 308 309 309 310 310 310 311 311 311 312 312 312 312
viii
Long retry count (LONGRTY) . . . . . . Security exit (SCYEXIT) . . . . . . . . Security exit user data (SCYUSRDATA). . . Send exit (SNDEXIT) . . . . . . . . . Send exit user data (SNDUSRDATA) . . . Receive exit (RCVEXIT) . . . . . . . . Receive exit user data (RCVUSRDATA) . . . Message exit (MSGEXIT) . . . . . . . Message exit user data (MSGUSRDATA) . . Message retry exit (MSGRTYEXIT) . . . . Message retry exit data (MSGRTYDATA) . . Number of message retries (MSGRTYNBR) . Message retry interval (MSGRTYITV) . . . Convert message (CVTMSG) . . . . . . Put authority (PUTAUT). . . . . . . . Sequence number wrap (SEQNUMWRAP) . Maximum message length (MAXMSGLEN) . Heartbeat interval (HRTBTINTVL) . . . . Non Persistent Message Speed (NPMSPEED) Cluster Name (CLUSTER) . . . . . . . Cluster Name List (CLUSNL) . . . . . . Network Connection Priority (NETPRTY) . . SSL CipherSpec (SSLCIPH) . . . . . . . SSL Client Authentication (SSLCAUTH) . . SSL Peer name (SSLPEER) . . . . . . . Local communication address (LOCLADDR) Batch Heartbeat Interval (BATCHHB) . . . Task user identifier (USERID) . . . . . . Password (PASSWORD) . . . . . . . . Keep Alive Interval (KAINT) . . . . . . Header Compression (COMPHDR) . . . . Message Compression (COMPMSG) . . . . Channel Monitoring (MONCHL) . . . . . Channel Statistics (STATCHL) . . . . . . Cluster Workload Rank (CLWLRANK) . . . Cluster Workload Priority (CLWLPRTY) . . Cluster Channel Weight (CLWLWGHT). . . Create MQ Listener (CRTMQMLSR) . . . . . Parameters . . . . . . . . . . . . Listener name (LSRNAME) . . . . . . . Message Queue Manager name (MQMNAME) Replace (REPLACE) . . . . . . . . . Text description (TEXT) . . . . . . . Listener control (CONTROL) . . . . . . Port number (PORT) . . . . . . . . . IP Address (IPADDR) . . . . . . . . Listener backlog (BACKLOG) . . . . . . Create MQ Namelist (CRTMQMNL) . . . . . Parameters . . . . . . . . . . . . Namelist (NAMELIST) . . . . . . . . Message Queue Manager name (MQMNAME) Replace (REPLACE) . . . . . . . . . Text description (TEXT) . . . . . . . List of Names (NAMES) . . . . . . . . Create MQ Process (CRTMQMPRC) . . . . . Parameters . . . . . . . . . . . . Process name (PRCNAME) . . . . . . . Message Queue Manager name (MQMNAME) Replace (REPLACE) . . . . . . . . . Text description (TEXT) . . . . . . . Application type (APPTYPE) . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
313 313 313 314 314 314 315 315 315 316 316 316 317 317 317 317 318 318 318 318 319 319 319 320 320 320 320 321 321 322 322 322 323 323 324 324 324 324 325 325 325 325 325 325 326 326 326 326 326 327 327 327 327 327 327 327 328 328 328 328 328
Application identifier (APPID) . . . . . User data (USRDATA) . . . . . . . . Environment data (ENVDATA) . . . . . Create MQ Queue (CRTMQMQ) . . . . . . Parameters . . . . . . . . . . . . Queue name (QNAME) . . . . . . . . Queue type (QTYPE) . . . . . . . . . Message Queue Manager name (MQMNAME) Replace (REPLACE) . . . . . . . . . Text description (TEXT) . . . . . . . Put enabled (PUTENBL) . . . . . . . . Default message priority (DFTPTY) . . . . Default message persistence (DFTMSGPST) . Process name (PRCNAME) . . . . . . . Triggering enabled (TRGENBL) . . . . . Get enabled (GETENBL) . . . . . . . . Sharing enabled (SHARE) . . . . . . . Default share option (DFTSHARE) . . . . Message delivery sequence (MSGDLYSEQ) . Harden backout count (HDNBKTCNT) . . . Trigger type (TRGTYPE) . . . . . . . . Trigger depth (TRGDEPTH) . . . . . . Trigger message priority (TRGMSGPTY) . . Trigger data (TRGDATA) . . . . . . . Retention interval (RTNITV) . . . . . . Maximum queue depth (MAXDEPTH) . . . Maximum message length (MAXMSGLEN) . Backout threshold (BKTTHLD) . . . . . Backout requeue name (BKTQNAME) . . . Initiation queue (INITQNAME) . . . . . Usage (USAGE) . . . . . . . . . . Definition type (DFNTYPE) . . . . . . Target queue (TGTQNAME) . . . . . . Remote queue (RMTQNAME) . . . . . . Remote Message Queue Manager (RMTMQMNAME) . . . . . . . . . Transmission queue (TMQNAME) . . . . Queue depth high threshold (HIGHTHLD) . Queue depth low threshold (LOWTHLD) . . Queue full events enabled (FULLEVT) . . . Queue high events enabled (HIGHEVT) . . Queue low events enabled (LOWEVT) . . . Service interval (SRVITV) . . . . . . . Service interval events (SRVEVT) . . . . . Distribution list support (DISTLIST) . . . . Cluster Name (CLUSTER) . . . . . . . Cluster Name List (CLUSNL) . . . . . . Default Binding (DEFBIND) . . . . . . Cluster Workload Rank (CLWLRANK) . . . Cluster Workload Priority (CLWLPRTY) . . Remote cluster puts (CLWLUSEQ) . . . . Queue Monitoring (MONQ) . . . . . . Queue Statistics (STATQ) . . . . . . . Queue Accounting (ACCTQ) . . . . . . Non Persistent Message Class (NPMCLASS) . Create MQ Service (CRTMQMSVC) . . . . . Parameters . . . . . . . . . . . . Service name (SVCNAME) . . . . . . . Message Queue Manager name (MQMNAME) Replace (REPLACE) . . . . . . . . . Text description (TEXT) . . . . . . .
Contents
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
329 330 330 330 330 330 331 331 331 331 332 332 332 332 333 333 333 334 334 334 334 335 335 335 336 336 336 337 337 337 337 338 338 339
339 340 340 340 341 341 341 341 341 342 342 342 343 343 343 343 344 344 344 345 345 345 345 345 . 345 . 346
ix
Start program (STRCMD) . . . . . . . Start program arguments (STRARG) . . . . End program (ENDCMD) . . . . . . . End program arguments (ENDARG) . . . Standard output (STDOUT) . . . . . . Standard error (STDERR) . . . . . . . Service type (TYPE) . . . . . . . . . Service control (CONTROL) . . . . . . Convert MQ Data Type (CVTMQMDTA) . . . Parameters . . . . . . . . . . . . Input file (FROMFILE) . . . . . . . . Member containing input (FROMMBR) . . . File to receive output (TOFILE) . . . . . Member to receive output (TOMBR) . . . . Replace to member (RPLTOMBR). . . . . Delete Message Queue Manager (DLTMQM) . . Parameters . . . . . . . . . . . . Message Queue Manager name (MQMNAME) Delete MQ AuthInfo object (DLTMQMAUTI) . . Parameters . . . . . . . . . . . . AuthInfo name (AINAME) . . . . . . . Message Queue Manager name (MQMNAME) Delete WebSphere MQ Publish/Subscribe broker (DLTMQMBRK) . . . . . . . . . . . Parameters . . . . . . . . . . . . Message Queue Manager name (MQMNAME) Delete MQ Channel (DLTMQMCHL) . . . . Parameters . . . . . . . . . . . . Channel name (CHLNAME) . . . . . . Message Queue Manager name (MQMNAME) Delete MQ Channel (CHLTYPE) . . . . . Delete MQ Listener (DLTMQMLSR) . . . . . Parameters . . . . . . . . . . . . Listener name (LSRNAME) . . . . . . . Message Queue Manager name (MQMNAME) Delete MQ Namelist (DLTMQMNL) . . . . . Parameters . . . . . . . . . . . . Namelist (NAMELIST) . . . . . . . . Message Queue Manager name (MQMNAME) Delete MQ Process (DLTMQMPRC) . . . . . Parameters . . . . . . . . . . . . Process name (PRCNAME) . . . . . . . Message Queue Manager name (MQMNAME) Delete MQ Queue (DLTMQMQ) . . . . . . Parameters . . . . . . . . . . . . Queue name (QNAME) . . . . . . . . Message Queue Manager name (MQMNAME) Delete MQ Service (DLTMQMSVC) . . . . . Parameters . . . . . . . . . . . . Service name (SVCNAME) . . . . . . . Message Queue Manager name (MQMNAME) Disconnect MQ (DSCMQM) . . . . . . . Parameters . . . . . . . . . . . . Display Message Queue Manager (DSPMQM) . Parameters . . . . . . . . . . . . Output (OUTPUT). . . . . . . . . . Message Queue Manager name (MQMNAME) Display MQ Object Authority (DSPMQMAUT) . Parameters . . . . . . . . . . . . Object name (OBJ) . . . . . . . . . . Object type (OBJTYPE) . . . . . . . .
. . . . . . . . . . . . . . . . .
346 346 346 347 347 347 347 348 348 348 348 348 349 349 349 349 349 349 . 350 . 350 . 350 350 . 350 . 350 350 . 350 . 351 . 351 351 . 351 . 351 . 352 . 352 352 . 352 . 352 . 352 352 . 352 . 352 . 353 353 . 353 . 353 . 353 353 . 354 . 354 . 354 354 . 354 . 354 . 354 . 354 . 354 355 . 355 . 355 . 355 . 355
User name (USER) . . . . . . . . . Output (OUTPUT). . . . . . . . . . Message Queue Manager name (MQMNAME) Service Component name (SRVCOMP) . . . Display MQ AuthInfo object (DSPMQMAUTI) . Parameters . . . . . . . . . . . . AuthInfo name (AINAME) . . . . . . . Message Queue Manager name (MQMNAME) Output (OUTPUT). . . . . . . . . . Display WebSphere MQ Publish/Subscribe broker (DSPMQMBRK) . . . . . . . . . . . Parameters . . . . . . . . . . . . Message Queue Manager name (MQMNAME) Display MQ Channel (DSPMQMCHL) . . . . Parameters . . . . . . . . . . . . Channel name (CHLNAME) . . . . . . Output (OUTPUT). . . . . . . . . . Message Queue Manager name (MQMNAME) Channel type (CHLTYPE) . . . . . . . Display MQ Command Server (DSPMQMCSVR) Parameters . . . . . . . . . . . . Message Queue Manager name (MQMNAME) Display MQ Listener (DSPMQMLSR) . . . . Parameters . . . . . . . . . . . . Listener name (LSRNAME) . . . . . . . Message Queue Manager name (MQMNAME) Output (OUTPUT). . . . . . . . . . Display MQ Namelist (DSPMQMNL) . . . . Parameters . . . . . . . . . . . . Namelist (NAMELIST) . . . . . . . . Output (OUTPUT). . . . . . . . . . Message Queue Manager name (MQMNAME) Display MQ Object Names (DSPMQMOBJN) . . Parameters . . . . . . . . . . . . Object name (OBJ) . . . . . . . . . . Object type (OBJTYPE) . . . . . . . . Output (OUTPUT). . . . . . . . . . Message Queue Manager name (MQMNAME) Display MQ Process (DSPMQMPRC) . . . . Parameters . . . . . . . . . . . . Process name (PRCNAME) . . . . . . . Output (OUTPUT). . . . . . . . . . Message Queue Manager name (MQMNAME) Display MQ Queue (Display MQ Queue) . . . Parameters . . . . . . . . . . . . Queue name (QNAME) . . . . . . . . Output (OUTPUT). . . . . . . . . . Message Queue Manager name (MQMNAME) Display MQ Route Information (DSPMQMRTE) Parameters . . . . . . . . . . . . Queue name (QNAME) . . . . . . . . Message Queue Manager name (MQMNAME) Correlation Identifier (CRRLID) . . . . . Message Persistence (MSGPST) . . . . . Message Priority (MSGPRTY) . . . . . . Report Option (OPTION) . . . . . . . Reply Queue (RPLYQ) . . . . . . . . Reply Queue Manager (RPLYMQM) . . . . Message Expiry (EXPIRY) . . . . . . . Expiry Report (EXPRPT). . . . . . . . Route Information (RTEINF) . . . . . .
. 356 . 356 356 . 356 . 356 . 357 . 357 357 . 357 . 357 . 357 357 . 357 . 358 . 358 . 358 358 . 358 359 . 359 359 . 359 . 359 . 360 360 . 360 . 360 . 360 . 360 . 360 361 . 361 . 361 . 361 . 361 . 362 362 . 362 . 363 . 363 . 363 363 . 363 . 363 . 363 . 363 364 364 . 364 . 364 364 . 364 . 365 . 365 . 365 . 365 . 366 . 366 . 366 . 366
Reply Message (RPLYMSG) . . . . . . Deliver Message (DLVRMSG) . . . . . . Forward Message (FWDMSG) . . . . . . Maximum Activities (MAXACTS) . . . . Route Detail (DETAIL) . . . . . . . . Browse Only (BROWSE) . . . . . . . . Display Message (DSPMSG) . . . . . . Target Queue Manager (TGTMQM) . . . . Display Information (DSPINF) . . . . . . Wait Time (WAIT) . . . . . . . . . . Display Queue Manager Status (DSPMQMSTS) . Parameters . . . . . . . . . . . . Message Queue Manager name (MQMNAME) Output (OUTPUT). . . . . . . . . . Display MQ Service (DSPMQMSVC) . . . . Parameters . . . . . . . . . . . . Service name (SVCNAME) . . . . . . . Message Queue Manager name (MQMNAME) Output (OUTPUT). . . . . . . . . . Display MQ Version (DSPMQMVER) . . . . Parameters . . . . . . . . . . . . Output (OUTPUT). . . . . . . . . . End Message Queue Manager (ENDMQM) . . Parameters . . . . . . . . . . . . Message Queue Manager name (MQMNAME) Option (OPTION) . . . . . . . . . . End connected jobs (ENDCCTJOB) . . . . Record MQ Object Image (RCDMQMIMG) . Timeout interval (seconds) (TIMEOUT) . . . End WebSphere MQ Publish/Subscribe broker (ENDMQMBRK) . . . . . . . . . . . Parameters . . . . . . . . . . . . Message Queue Manager name (MQMNAME) Option (OPTION) . . . . . . . . . . End MQ Channel (ENDMQMCHL) . . . . . Parameters . . . . . . . . . . . . Channel name (CHLNAME) . . . . . . Option (OPTION) . . . . . . . . . . Message Queue Manager name (MQMNAME) Channel status (STATUS) . . . . . . . Connection name (CONNAME) . . . . . Remote queue manager (RQMNAME) . . . End Queue Manager Connection (ENDMQMCONN) . . . . . . . . . . Parameters . . . . . . . . . . . . Connection Identifier (CONN) . . . . . . Message Queue Manager name (MQMNAME) End MQ Command Server (ENDMQMCSVR) . Parameters . . . . . . . . . . . . Message Queue Manager name (MQMNAME) Option (OPTION) . . . . . . . . . . End MQ Listeners (ENDMQMLSR) . . . . . Parameters . . . . . . . . . . . . Message Queue Manager name (MQMNAME) Port number (PORT) . . . . . . . . . Option (OPTION) . . . . . . . . . . Listener name (LSRNAME) . . . . . . . End MQ Service (ENDMQMSVC) . . . . . Parameters . . . . . . . . . . . . Service name (SVCNAME) . . . . . . . Message Queue Manager name (MQMNAME)
. . . . . . . . . . . . . . . . . . . . . . . . . .
366 367 367 367 367 368 368 368 368 369 369 369 369 369 370 370 370 370 370 370 370 371 371 371 371 371 372 372 373
. 373 . 373 373 . 373 . 373 . 373 . 373 . 374 374 . 374 . 374 . 374 . 374 . 375 . 375 375 . 375 . 375 375 . 375 . 375 . 376 376 . 376 . 376 . 376 . 376 . 376 . 377 377
Grant MQ Object Authority (GRTMQMAUT) . . . Parameters . . . . . . . . . . . . . Object name (OBJ) . . . . . . . . . . . Object type (OBJTYPE) . . . . . . . . . User names (USER) . . . . . . . . . . Authority (AUT) . . . . . . . . . . . Message Queue Manager name (MQMNAME) Service Component name (SRVCOMP) . . . . Ping MQ Channel (PNGMQMCHL) . . . . . . Parameters . . . . . . . . . . . . . Channel name (CHLNAME) . . . . . . . Message Queue Manager name (MQMNAME) Data count (DATACNT) . . . . . . . . . Count (CNT) . . . . . . . . . . . . Record MQ Object Image (RCDMQMIMG) . . . Parameters . . . . . . . . . . . . . Object name (OBJ) . . . . . . . . . . . Object type (OBJTYPE) . . . . . . . . . Message Queue Manager name (MQMNAME) Display Journal Receiver Data (DSPJRNDTA) Recreate MQ Object (RCRMQMOBJ) . . . . . Parameters . . . . . . . . . . . . . Object name (OBJ) . . . . . . . . . . . Object type (OBJTYPE) . . . . . . . . . Message Queue Manager name (MQMNAME) Refresh WebSphere MQ Authority (RFRMQMAUT) Parameters . . . . . . . . . . . . . Message Queue Manager name (MQMNAME) Refresh Type (TYPE) . . . . . . . . . . Refresh MQ Cluster (RFRMQMCL) . . . . . . Parameters . . . . . . . . . . . . . Cluster Name (CLUSTER) . . . . . . . . Message Queue Manager name (MQMNAME) Refresh Repository (REPOS) . . . . . . . Resume Cluster Queue Manager (RSMMQMCLQM) . . . . . . . . . . . Parameters . . . . . . . . . . . . . Cluster Name (CLUSTER) . . . . . . . . Cluster Name List (CLUSNL) . . . . . . . Message Queue Manager name (MQMNAME) Reset MQ Channel (RSTMQMCHL) . . . . . . Parameters . . . . . . . . . . . . . Channel name (CHLNAME) . . . . . . . Message sequence number (MSGSEQNUM) . . Message Queue Manager name (MQMNAME) Reset Cluster (RSTMQMCL) . . . . . . . . Parameters . . . . . . . . . . . . . Cluster Name (CLUSTER) . . . . . . . . Queue Manager Name for removal (QMNAME) Action (ACTION) . . . . . . . . . . . Message Queue Manager name (MQMNAME) Remove Queues (QUEUES). . . . . . . . Queue Manager Id for removal (QMID) . . . Resolve MQ Channel (RSVMQMCHL) . . . . . Parameters . . . . . . . . . . . . . Channel name (CHLNAME) . . . . . . . Resolve option (OPTION) . . . . . . . . Message Queue Manager name (MQMNAME) RUNMQSC (RUNMQSC) . . . . . . . . . Parameters . . . . . . . . . . . . . Message Queue Manager name (MQMNAME)
Contents
377 377 377 378 378 379 381 381 382 382 382 382 382 382 382 383 383 383 384 384 384 384 384 385 386 386 386 386 386 386 387 387 387 387 387 387 387 387 388 388 388 388 388 388 389 389 389 389 389 389 389 390 390 390 390 390 390 391 391 391
xi
Revoke MQ Object Authority (RVKMQMAUT) . Parameters . . . . . . . . . . . . Object name (OBJ) . . . . . . . . . . Object type (OBJTYPE) . . . . . . . . User names (USER) . . . . . . . . . Authority (AUT) . . . . . . . . . . Message Queue Manager name (MQMNAME) Service Component name (SRVCOMP) . . . Suspend Cluster Queue Manager (SPDMQMCLQM) . . . . . . . . . . . Parameters . . . . . . . . . . . . Cluster Name (CLUSTER) . . . . . . . Cluster Name List (CLUSNL) . . . . . . Message Queue Manager name (MQMNAME) Mode (MODE) . . . . . . . . . . . Start Message Queue Manager (STRMQM) . . Parameters . . . . . . . . . . . . Message Queue Manager name (MQMNAME) Redefine system objects (RDEFSYS) . . . . Startup Status Detail (STRSTSDTL) . . . . Service startup (STRSVC) . . . . . . . Perform replay only (REPLAY) . . . . . Activate backup (ACTIVATE) . . . . . . Start WebSphere MQ Publish/Subscribe broker (STRMQMBRK) . . . . . . . . . . . Parameters . . . . . . . . . . . . Message Queue Manager name (MQMNAME) Parent Message Queue Manager (PARENTMQM) . . . . . . . . . . Start MQ Channel (STRMQMCHL) . . . . . Parameters . . . . . . . . . . . . Channel name (CHLNAME) . . . . . . Message Queue Manager name (MQMNAME) Start MQ Channel Initiator (STRMQMCHLI) . . Parameters . . . . . . . . . . . . Queue name (QNAME) . . . . . . . . Message Queue Manager name (MQMNAME) Start MQ Command Server (STRMQMCSVR) . Parameters . . . . . . . . . . . . Message Queue Manager name (MQMNAME) Start WebSphere MQ DLQ Handler (STRMQMDLQ) . . . . . . . . . . . Parameters . . . . . . . . . . . . Undelivered message queue (UDLMSGQ) . . Member containing input (SRCMBR) . . . Input file (SRCFILE) . . . . . . . . . Message Queue Manager name (MQMNAME) Start MQ Listener (STRMQMLSR) . . . . . Parameters . . . . . . . . . . . . Port number (PORT) . . . . . . . . . Message Queue Manager name (MQMNAME) IP Address (IPADDR) . . . . . . . . Listener backlog (BACKLOG) . . . . . . Listener name (LSRNAME) . . . . . . . Start WebSphere MQ Commands (STRMQMMQSC) . . . . . . . . . . . Parameters . . . . . . . . . . . . Member containing input (SRCMBR) . . . Input file (SRCFILE) . . . . . . . . . Option (OPTION) . . . . . . . . . . Wait time (WAIT) . . . . . . . . . .
. . . . . .
391 391 391 392 392 393 395 . 395 396 396 396 396 396 396 396 396 396 397 397 397 397 397
. . . . . . . . . . . .
. 398 . 398 398 . . . . . . . . . 398 398 398 399 399 399 399 399 399 399 399 400 400 400 400 400 401 401 401 401 401 402 402 402 402 402 403 403 403 403 404
. . . . . . . . . . . . . . . . .
Message Queue Manager name (MQMNAME) Start MQ Service (STRMQMSVC). . . . . . . Parameters . . . . . . . . . . . . . Service name (SVCNAME) . . . . . . . . Message Queue Manager name (MQMNAME) Start MQ Trigger Monitor (STRMQMTRM) . . . Parameters . . . . . . . . . . . . . Initiation queue INITQNAME . . . . . . . Message Queue Manager name (MQMNAME) Trace MQ (TRCMQM) . . . . . . . . . . Parameters . . . . . . . . . . . . . Trace early (TRCEARLY) . . . . . . . . Trace option setting (SET) . . . . . . . . Output (OUTPUT). . . . . . . . . . . Trace level (TRCLEVEL) . . . . . . . . . Trace types (TRCTYPE) . . . . . . . . . Exclude types (EXCLUDE) . . . . . . . . Maximum storage to use (MAXSTG) . . . . Trace data size (DATASIZE) . . . . . . . Message Queue Manager name (MQMNAME) Work with MQ Queue Manager (WRKMQM) . . Parameters . . . . . . . . . . . . . Message Queue Manager name (MQMNAME) Work with MQ Authority (WRKMQMAUT) . . . Parameters . . . . . . . . . . . . . Object name (OBJ) . . . . . . . . . . . Object type (OBJTYPE) . . . . . . . . . Output (OUTPUT) . . . . . . . . . . . Message Queue Manager name (MQMNAME) Service Component name (SRVCOMP) . . . . Work with MQ Authority Data (WRKMQMAUTD) Parameters . . . . . . . . . . . . . Object name (OBJ) . . . . . . . . . . . Object type (OBJTYPE) . . . . . . . . . User name (USER) . . . . . . . . . . Message Queue Manager name (MQMNAME) Service Component name (SRVCOMP) . . . . Work with AuthInfo objects (WRKMQMAUTI) . . Parameters . . . . . . . . . . . . . AuthInfo name (AINAME) . . . . . . . . Message Queue Manager name (MQMNAME) Filter command (WHERE) . . . . . . . . Work with MQ Channels (WRKMQMCHL) . . . Parameters . . . . . . . . . . . . . Channel name (CHLNAME) . . . . . . . Channel type (CHLTYPE) . . . . . . . . Message Queue Manager name (MQMNAME) Channel status (STATUS) . . . . . . . . Filter command (WHERE) . . . . . . . . Work with MQ Channel Status (WRKMQMCHST) Parameters . . . . . . . . . . . . . Channel name (CHLNAME) . . . . . . . Connection name (CONNAME) . . . . . . Transmission queue name (TMQNAME) . . . Message Queue Manager name (MQMNAME) Channel status (CHLSTS) . . . . . . . . Filter command (WHERE) . . . . . . . . Work with MQ Clusters (WRKMQMCL) . . . . Parameters . . . . . . . . . . . . . Cluster Queue Manager name (CLUSQMGR) Message Queue Manager name (MQMNAME)
404 404 404 404 404 405 405 405 405 405 405 405 405 406 406 406 407 408 409 409 409 409 409 410 410 410 410 411 411 411 411 412 412 412 412 412 413 413 413 413 414 414 414 414 415 415 415 416 416 422 422 422 422 422 423 423 423 427 427 427 427
xii
Filter command (WHERE) . . . . . . . Work with MQ Cluster Queues (WRKMQMCLQ) Parameters . . . . . . . . . . . . Queue name (QNAME) . . . . . . . . Message Queue Manager name (MQMNAME) Cluster name (CLUSTER) . . . . . . . Filter command (WHERE) . . . . . . . Work with MQ Connections (WRKMQMCONN) Parameters . . . . . . . . . . . . Connection Identifier (CONN) . . . . . . Message Queue Manager name (MQMNAME) Filter command (WHERE) . . . . . . . Work with MQ Listeners (WRKMQMLSR) . . . Parameters . . . . . . . . . . . . Option (OPTION) . . . . . . . . . . Listener name (LSRNAME) . . . . . . . Message Queue Manager name (MQMNAME) Filter command (WHERE) . . . . . . . Work with MQ Messages (WRKMQMMSG) . . Parameters . . . . . . . . . . . . Queue name (QNAME) . . . . . . . . Message Queue Manager name (MQMNAME) First Message (FIRST) . . . . . . . . Maximum number of messages (MAXMSG) . Maximum message size (MAXMSGLEN) . . Work with MQ Namelist (WRKMQMNL) . . . Parameters . . . . . . . . . . . . Namelist (NAMELIST) . . . . . . . . Message Queue Manager name (MQMNAME) Filter command (WHERE) . . . . . . . Work with MQ Processes (WRKMQMPRC) . . Parameters . . . . . . . . . . . . Process name (PRCNAME) . . . . . . . Message Queue Manager name (MQMNAME) Filter command (WHERE) . . . . . . . Work with MQ Queues (WRKMQMQ) . . . . Parameters . . . . . . . . . . . . Queue name (QNAME) . . . . . . . . Queue type (QTYPE) . . . . . . . . . Message Queue Manager name (MQMNAME) Cluster name (CLUSTER) . . . . . . . Cluster namelist name (CLUSNL) . . . . Filter command (WHERE) . . . . . . . Work with Queue Status (WRKMQMQSTS) . . Parameters . . . . . . . . . . . .
. 427 434 . 434 . 434 434 . 435 . 435 436 . 437 . 437 437 . 437 . 439 . 439 . 439 . 440 440 . 440 . 441 . 441 . 441 441 . 441 . 442 . 442 . 442 . 442 . 442 443 . 443 . 443 . 443 . 443 444 . 444 . 445 . 445 . 446 . 446 446 . 446 . 447 . 447 . 455 . 455
Message Queue Manager name (MQMNAME) Queue name (QNAME) . . . . . . . . Filter command (WHERE) . . . . . . . Work with MQ Service object (WRKMQMSVC) . Parameters . . . . . . . . . . . . Service name (SVCNAME) . . . . . . . Message Queue Manager name (MQMNAME) Filter command (WHERE) . . . . . . . Work with MQ Transactions (WRKMQMTRN) . Parameters . . . . . . . . . . . . Transaction type (TYPE) . . . . . . . . Message Queue Manager name (MQMNAME)
. . . . . . . . .
455 455 455 456 456 457 457 457 458 458 458 459
Appendix C. Sample resource definitions . . . . . . . . . . . . . 467 Appendix D. Quiescing WebSphere MQ and MQSeries systems . . . . . 471
Quiescing MQSeries for AS/400 V5.2 and WebSphere MQ for iSeries systems . . . . ENDMQM parameter ENDCCTJOB(*YES) . Shutting down a single queue manager . Shutting down all queue managers . . . . . . . . . . . 471 471 471 473
Contents
xiii
xiv
Figures
1. 2. 3. 4. 5. 6. 7. 8. 9. Create MQM Queue initial panel . . . . Work with MQM Queues panel . . . . . Display MQ Process panel . . . . . . Work with queue managers results panel Extract from the MQSC command file, myprog.in . . . . . . . . . . . . Display MQM Command Server panel Work with MQM Authority panel input display . . . . . . . . . . . . . Work with MQM Authority panel results display . . . . . . . . . . . . . Work with MQM Authority Data input panel . 20 . 21 . 30 36 . 37 41 . 74 . 75 76 10. 11. 12. 13. 14. 15. 16. 17. Work with MQM Authority Data output panel 76 Sequence of events when updating MQM objects . . . . . . . . . . . . . . 94 WebSphere MQ for iSeries journaling . . . . 97 Extract from a WebSphere MQ error log 116 FFST report . . . . . . . . . . . . 118 Example of a WebSphere MQ configuration file . . . . . . . . . . . . . . . 136 Example queue manager configuration file 137 WebSphere MQ for iSeries authorization service stanzas in qm.ini . . . . . . . . 144
xv
xvi
Tables
1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. WebSphere MQ tasks. . . . . . . . . . Work management objects . . . . . . . Work management objects created for a queue manager . . . . . . . . . . . . . Authorizations for MQI calls . . . . . . . Authorizations for context calls . . . . . . Authorizations for MQSC and PCF calls Authorizations for generic operations . . . . Security authorization needed for MQCONN calls . . . . . . . . . . . . . . . Security authorization needed for MQOPEN calls . . . . . . . . . . . . . . . Security authorization needed for MQPUT1 calls . . . . . . . . . . . . . . . Security authorization needed for MQCLOSE calls . . . . . . . . . . . . . . . 43 45 45 57 57 57 57 60 60 60 60 23. 24. 25. 26. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. List of possible ISO CCSIDs . . . . . . Authorization service components summary Fields in MQZAC . . . . . . . . . Fields in MQZAD . . . . . . . . . Fields in MQZED . . . . . . . . . Fields in MQZFP . . . . . . . . . Fields in MQZIC . . . . . . . . . Queue manager library names . . . . . System and default objects: queues . . . System and default objects: channels System and default objects: authentication information objects. . . . . . . . . System and default objects: listeners . . . System and default objects: namelists System and default objects: processes System and default objects: services . . . . 126 139 . 185 . 188 . 192 . 194 . 196 . 461 . 463 464 . 464 . 464 464 464 . 464
xvii
xviii
xix
xx
Summary of changes
This section describes changes in this edition of WebSphere MQ for iSeries System Administration Guide.
xxi
Changes
WebSphere MQ for iSeries journals on page 91 Media images on page 94 Checkpoints on page 95 Performance and failover considerations on page 101 There is information about the QMErrorLog stanza of qm.ini, which allows you to tailor the operation and contents of queue manager error logs. For more information, see The queue manager error log stanza on page 130. There is information about changes to the behavior of ENDCCTJOB(*YES) in ENDMQM parameter ENDCCTJOB(*YES) on page 471. Various corrections and minor improvements have been made. This book is a revision of the WebSphere MQ for iSeries System Administration Guide, V5.3, SC34-6070-00.
v v v
xxii
Time-independent applications
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. In fact, 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.
Message-driven processing
Upon arrival on a queue, messages can automatically start an application using a mechanism known as triggering. If necessary, the applications can be stopped when the message (or messages) have been processed.
What is a message?
A message is a string of bytes that is meaningful to the applications that use it. Messages are used for transferring information from one application program to
Copyright IBM Corp. 1994, 2005
Message lengths
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 practice, the message length is limited by: v The maximum message length defined for the receiving queue v The maximum message length defined for the queue manager v The maximum message length defined by the queue v The maximum message length defined by either the sending or receiving application v The amount of storage available for the message It can take several messages to send all the information that an application requires.
What is a queue?
A queue is a data structure used to store messages. The messages are put on the queue by application programs, or by a queue manager as part of its normal operation. Each queue is owned by a queue manager. The queue manager maintains the queues it owns and stores all the messages it receives onto the appropriate queues.
Objects
Many of the tasks described in this book involve manipulating WebSphere MQ objects. In WebSphere MQ, the object types include queue managers, queues, process definitions, namelists, channels, client connection channels, listeners, services, and authentication information objects. The manipulation or administration of objects includes: v Starting and stopping queue managers. v Creating objects, particularly queues, for applications. v Working with channels to create communication paths to queue managers on other (remote) systems. This is described in detail in WebSphere MQ Intercommunication. v Creating clusters of queue managers to simplify the overall administration process, or to achieve workload balancing. This is described in detail in WebSphere MQ Queue Manager Clusters.
Chapter 1. Introduction to WebSphere MQ
Objects
This book contains detailed information about administration in the following chapters: v Chapter 2, Managing WebSphere MQ for iSeries using CL commands, on page 15 v Chapter 3, Alternative ways of administering WebSphere MQ, on page 35 You can also administer WebSphere MQ for iSeries from a Windows or Linux (x86 platform) machine using the WebSphere MQ Explorer.
Object names
The naming convention adopted for WebSphere MQ objects depends on the object. Each instance of a queue manager is known by its name. This name must be unique within the network of interconnected queue managers, so that one queue manager can unambiguously identify the target queue manager to which any given message is sent. For the other types of object, each object has a name associated with it and can be referenced by that name. These names must be unique within one queue manager and object type. For example, you can have a queue and a process with the same name, but you cannot have two queues with the same name. In WebSphere MQ, names can have a maximum of 48 characters, with the exception of channels and client connection channels that have a maximum of 20 characters. For more information about names, see WebSphere MQ object names on page 461.
Managing objects
You can manage objects using the native OS/400 menus. You can create, alter, display, and delete objects using: v WebSphere MQ for iSeries CL commands v WebSphere MQ script (MQSC) commands, which can be typed in from a keyboard or read from a file v Programmable command format (PCF) messages, which can be used in an automation program v WebSphere MQ Administration Interface (MQAI) calls in a program For more information about these methods, see Chapter 3, Alternative ways of administering WebSphere MQ, on page 35. You can also administer WebSphere MQ for iSeries from a Windows machine using the WebSphere MQ Explorer (see Using the WebSphere MQ Explorer on page 39).
Object attributes
The properties of an object are defined by its attributes. Some you can specify, others you can only view. For example, the maximum message length that a queue can accommodate is defined by its MaxMsgLength attribute; you can specify this attribute when you create a queue. The DefinitionType attribute specifies how the queue was created; you can only display this attribute. In WebSphere MQ, there are three ways of referring to an attribute:
Objects
v Using its CL parameter name, for example, MAXMSGLEN v Using its PCF name, for example, MaxMsgLength. v Using its MQSC name, for example, MAXMSGL. The formal name of an attribute is its PCF name. Because using the CL interface is an important part of this book, you are more likely to see the CL name in examples than the PCF name of a given attribute.
WebSphere MQ queues
Queues are defined to WebSphere MQ using: v The native OS/400 CRTMQMQ CL command v The appropriate MQSC DEFINE command v The PCF Create Queue command Note: The WebSphere MQ process definition, channel, and namelist objects can be defined in a similar manner. The commands specify the type of queue and its attributes. For example, a local queue object has attributes that specify what happens when applications reference that queue in MQI calls. Examples of attributes are: v Whether applications can retrieve messages from the queue (GET enabled).
Chapter 1. Introduction to WebSphere MQ
Objects
v Whether applications can put messages on the queue (PUT enabled). v Whether access to the queue is exclusive to one application or shared between applications. v The maximum number of messages that can be stored on the queue at the same time (maximum queue depth). v The maximum length of messages that can be put on the queue. For further details about defining queue objects, see the WebSphere MQ Script (MQSC) Command Reference or WebSphere MQ Programmable Command Formats and Administration Interface.
Objects
v Application queues This is a queue that is used by an application through the MQI. It can be a local queue on the queue manager to which an application is linked, or it can be a remote queue that is owned by another queue manager. Applications can put messages on local or remote queues. However, they can only get messages from a local queue. v Initiation queues Initiation queues are queues that are used in triggering. A queue manager puts a trigger message on an initiation queue when a trigger event occurs. A trigger event is a logical combination of conditions that is detected by a queue manager. For example, a trigger event might be generated when the number of messages on a queue reaches a predefined depth. This event causes the queue manager to put a trigger message on a specified initiation queue. This trigger message is retrieved by a trigger monitor, a special application that monitors an initiation queue. The trigger monitor then starts up the application program that was specified in the trigger message. If a queue manager is to use triggering, at least one initiation queue must be defined for that queue manager. See Working with triggering on page 29 For more information about triggering, see the WebSphere MQ Application Programming Guide. v Transmission queues Transmission queues are queues that temporarily stores messages that are destined for a remote queue manager. You must define at least one transmission queue for each remote queue manager to which the local queue manager is to send messages directly. These queues are also used in remote administration. For information about the use of transmission queues in distributed queuing, see WebSphere MQ Intercommunication. v Cluster transmission queues Each queue manager within a cluster has a cluster transmission queue called SYSTEM.CLUSTER.TRANSMIT.QUEUE. A definition of this queue is created by default on every queue manager on WebSphere MQ for AIX, iSeries, HP-UX, Solaris, and Windows. A queue manager that is part of the cluster can send messages on the cluster transmission queue to any other queue manager that is in the same cluster. Cluster queue managers can communicate with queue managers that are not part of the cluster. To do this, the queue manager must define channels and a transmission queue to the other queue manager in the same way as in a traditional distributed-queuing environment. For more information on using clusters, see WebSphere MQ Queue Manager Clusters. v Dead-letter queues A dead-letter queue is a queue that stores messages that cannot be routed to their correct destinations. This occurs when, for example, the destination queue is full. The supplied dead-letter queue is called SYSTEM.DEAD.LETTER.QUEUE. These queues are sometimes referred to as undelivered-message queues. A dead-letter queue is defined by default when each queue manager is created. However, you must ensure that the queue manager on which this queue resides points to the dead-letter queue that it is going to use. The following command creates an undelivered-message queue on queue manager neptune.queue.manager:
CRTMQM MQMNAME(neptune.queue.manager) UDLMSGQ(ANOTHERDLQ)
Objects
v Command queues The command queue, named SYSTEM.ADMIN.COMMAND.QUEUE, is a local queue to which suitably authorized applications can send WebSphere MQ commands for processing. These commands are then retrieved by a WebSphere MQ component called the command server. The command server validates the commands, passes the valid ones on for processing by the queue manager, and returns any responses to the appropriate reply-to queue. A command queue is created automatically for each queue manager when that queue manager is created. v Reply-to queues When an application sends a request message, the application that receives the message can send back a reply message to the sending application. This message is put on a queue, called a reply-to queue, which is normally a local queue to the sending application. The name of the reply-to queue is specified by the sending application as part of the message descriptor. v Event queues WebSphere MQ for iSeries supports instrumentation events, which can be used to monitor queue managers independently of MQI applications. Instrumentation events can be generated in several ways, for example: An application attempting to put a message on a queue that is not available or does not exist. A queue becoming full. A channel being started. When an instrumentation event occurs, the queue manager puts an event message on an event queue. This message can then be read by a monitoring application, which informs an administrator or initiate some remedial action if the event indicates a problem. Note: Trigger events are quite different from instrumentation events in that trigger events are not caused by the same conditions, and do not generate event messages. For more information about instrumentation events, see Monitoring WebSphere MQ.
Channels
Channels are objects that provide a communication path from one queue manager to another. Channels are used in distributed message queuing to move messages from one queue manager to another. They shield applications from the underlying communications protocols. The queue managers exist on the same, or different, platforms. For queue managers to communicate with one another, you must define
Objects
one channel object at the queue manager that is to send messages, and another, complementary one, at the queue manager that is to receive them. Use the WebSphere MQ for iSeries CRTMQMCHL CL command, the MQSC command DEFINE CHANNEL, or the PCF command Create Channel to create a channel definition. Note: Clustering automates some of these tasks for you. For information on channels and how to use them, see WebSphere MQ Intercommunication.
Clusters
In a traditional WebSphere MQ network using distributed queuing, every queue manager is independent. If one queue manager needs to send messages to another queue manager it must have defined a transmission queue, a channel to the remote queue manager, and a remote queue definition for every queue to which it wants to send messages. A cluster is a group of queue managers set up in such a way that the queue managers can communicate directly with one another over a single network, without the need for complex transmission queue, channel, and queue definitions. For information about clusters, see WebSphere MQ Queue Manager Clusters.
Listeners
Listener objects are used to accept incoming network requests from remote queue managers, or client applications. Once accepted, a listener starts the associated receiver or server connection channels to allow the queue manager to receive messages. An alternative to listener objects, are listener processes. Listener processes are started using the STRMQMLSR control command. If you start a listener as a process, you do not inherit the benefits of listener objects, such as: v You cannot guarantee the running environment of the listener. v You cannot automatically startup, and shutdown, the listener with the queue manager.
Namelists
A namelist is a WebSphere MQ object that contains a list of other WebSphere MQ objects. Typically, namelists are used by applications such as trigger monitors, where they are used to identify a group of queues. The advantage of using a namelist is that it is maintained independently of applications; that is, it can be
Chapter 1. Introduction to WebSphere MQ
Objects
updated without stopping any of the applications that use it. Also, if one application fails, the namelist is not affected and other applications can continue using it. Namelists are also used with queue manager clusters so that you can maintain a list of clusters referenced by more than one WebSphere MQ object. Use the WebSphere MQ for iSeries CRTMQMNL CL command, the MQSC command DEFINE NAMELIST, or the PCF command Create Namelist to create a namelist definition.
Process definitions
A process definition object defines an application that is to be started in response to a trigger event on a WebSphere MQ queue manager. See the Initiation queues entry under Specific local queue types and their uses on page 6 for more information. The process definition attributes include the application ID, the application type, and data specific to the application. Use the WebSphere MQ for iSeries CRTMQMPRC CL command, the MQSC command DEFINE PROCESS, or the PCF command Create Process to create a process definition.
Services
Service objects contain the definitions of one or more commands to be run when a queue manager is started, or stopped. By defining service objects an administrator can automate the starting and stopping of tasks, or certain objects associated with the queue manager. Use the WebSphere MQ for iSeries CRTMQMSVC CL command, the MQSC command DEFINE SERVICE, or the PCF command Create Service to create a service definition.
10
User exits
User exits provide a way for you to insert your own code into a queue manager function. The user exits supported include: v Channel exits These exits change the way that channels operate. Channel exits are described in WebSphere MQ Intercommunication. v Data conversion exits These exits create source code fragments that can be put into application programs to convert data from one format to another. Data conversion exits are described in the WebSphere MQ Application Programming Guide. v The cluster workload exit The function performed by this exit is defined by the provider of the exit. Call definition information is given in WebSphere MQ Queue Manager Clusters. The exit is supported in the following environments: AIX, iSeries, HP-UX, Solaris, Windows, and z/OS
11
Security
Security
In WebSphere MQ for iSeries security is provided by the Object Authority Manager (OAM) component. See Chapter 5, Protecting WebSphere MQ objects, on page 51 for details of this component.
Transactional support
An application program can group a set of updates into a unit of work. These updates are usually logically related and must all be successful for data integrity to be preserved. If one update succeeds while another fails, data integrity is lost. A unit of work commits when it completes successfully. At this point all updates made within that unit of work are made permanent or irreversible. If the unit of work fails, all updates are instead backed out. Syncpoint coordination is the process by which units of work are either committed or backed out with integrity. A local unit of work is one in which the only resources updated are those of the WebSphere MQ queue manager. Here, syncpoint coordination is provided by the queue manager itself using a dual-phase commit process and the MQI calls MQBACK and MQCMIT. WebSphere MQ for iSeries can support and participate in global units of work as a resource manager, coordinated by the OS/400 COMMIT and ROLLBACK commands.
12
Transactional support
the system clock backward by an hour. You are not recommended to use the Time Zone system value when WebSphere MQ for iSeries is actively being used on an i5/OS system. In environments where downtime must be minimized, an enforced outage of one hour might not be acceptable. IBM is looking into providing a better solution, but until this is available, the only alternative to quiescing the queue manager for an hour is to perform a controlled cold start of the system. A controlled cold start is where all queues are emptied of any persistent messages and the queue manager is cleanly shut down. The queue manager journal data can then be deleted using the cold start procedure. This eliminates the risk of losing messages, but it deletes all media recovery information. You will not be able to recover damaged objects without media recovery information, so you should ensure that you have backed up your object definitions before attempting this. Your IBM service representative will be able provide details of this procedure.
13
14
WebSphere MQ applications
When you create or customize WebSphere MQ applications, it is useful to keep a record of all WebSphere MQ definitions created. This record can be used for: v Recovery purposes v Maintenance v Rolling out WebSphere MQ applications You can do this by either: v Creating CL programs to generate your WebSphere MQ definitions for the server, or v Creating MQSC text files as SRC members to generate your WebSphere MQ definitions using the cross-platform WebSphere MQ command language. You are recommended to use SupportPac MS03 WebSphere MQ - Save Queue Manager object definitions using PCFs to generate the MQSC script file. You can download this SupportPac from the WebSphere MQ SupportPac Web page. For further details about defining queue objects, see WebSphere MQ Script (MQSC) Command Reference or WebSphere MQ Programmable Command Formats and Administration Interface.
15
CL commands
RFRMQMAUT, Refresh WebSphere MQ Object Authority RVKMQMAUT, Revoke WebSphere MQ Object Authority WRKMQMAUT, Work with WebSphere MQ Authority WRKMQMAUTD, Work with WebSphere MQ Authority Data Broker Commands CLRMQMBRK, Clear WebSphere MQ Broker DLTMQMBRK, Delete WebSphere MQ Broker DSPMQMBRK, Display WebSphere MQ Broker ENDMQMBRK, End WebSphere MQ Broker STRMQMBRK, Start WebSphere MQ Broker Channel Commands CHGMQMCHL, Change WebSphere MQ Channel CPYMQMCHL, Copy WebSphere MQ Channel CRTMQMCHL, Create WebSphere MQ Channel DLTMQMCHL, Delete WebSphere MQ Channel DSPMQMCHL, Display WebSphere MQ Channel ENDMQMCHL, End WebSphere MQ Channel PNGMQMCHL, Ping WebSphere MQ Channel RSTMQMCHL, Reset WebSphere MQ Channel RSVMQMCHL, Resolve WebSphere MQ Channel STRMQMCHL, Start WebSphere MQ Channel STRMQMCHLI, Start WebSphere MQ Channel Initiator WRKMQMCHL, Work with WebSphere MQ Channels WRKMQMCHST, Work with WebSphere MQ Channel Status Cluster Commands RFRMQMCL, Refresh WebSphere MQ Cluster RSMMQMCLQM, Resume WebSphere MQ Cluster Queue Manager RSTMQMCL, Reset WebSphere MQ Cluster SPDMQMCLQM, Suspend WebSphere MQ Cluster Queue Manager WRKMQMCL, Work with WebSphere MQ Clusters WRKMQMCLQ, Work with WebSphere MQ Cluster Queues Command Server Commands DSPMQMCSVR, Display WebSphere MQ Command Server ENDMQMCSVR, End WebSphere MQ Command Server STRMQMCSVR, Start WebSphere MQ Command Server Connection Commands ENDMQMCONN, End WebSphere MQ Connection WRKMQMCONN, Work with WebSphere MQ Connections Data Conversion Exit Command CVTMQMDTA, Convert WebSphere MQ Data Type Listener Commands CHGMQMLSR, Change WebSphere MQ Listener Object CPYMQMLSR, Copy WebSphere MQ Listener Object CRTMQMLSR, Create WebSphere MQ Listener Object DLTMQMLSR, Delete WebSphere MQ Listener Object DSPMQMLSR, Display WebSphere MQ Listener Object ENDMQMLSR, End WebSphere MQ Listener STRMQMLSR, Start WebSphere MQ Listener WRKMQMLSR, Work with WebSphere MQ Listeners Media Recovery Commands RCDMQMIMG, Record WebSphere MQ Object Image RCRMQMOBJ, Recreate WebSphere MQ Object WRKMQMTRN, Work with WebSphere MQ Transactions Name Command
v v
16
CL commands
DSPMQMOBJN, Display WebSphere MQ Object Names v Namelist Commands CHGMQMNL, Change WebSphere MQ Namelist CPYMQMNL, Copy WebSphere MQ Namelist CRTMQMNL, Create WebSphere MQ Namelist DLTMQMNL, Delete WebSphere MQ Namelist DSPMQMNL, Display WebSphere MQ Namelist WRKMQMNL, Work with WebSphere MQ Namelists v Process Commands CHGMQMPRC, Change WebSphere MQ Process CPYMQMPRC, Copy WebSphere MQ Process CRTMQMPRC, Create WebSphere MQ Process DLTMQMPRC, Delete WebSphere MQ Process DSPMQMPRC, Display WebSphere MQ Process WRKMQMPRC, Work with WebSphere MQ Processes v Queue Commands CHGMQMQ, Change WebSphere MQ Queue CLRMQMQ, Clear WebSphere MQ Queue CPYMQMQ, Copy WebSphere MQ Queue CRTMQMQ, Create WebSphere MQ Queue DLTMQMQ, Delete WebSphere MQ Queue DSPMQMQ, Display WebSphere MQ Queue WRKMQMMSG, Work with WebSphere MQ Messages WRKMQMQ, Work with WebSphere MQ Queues WRKMQMQSTS, Work with WebSphere MQ Queue Status v Queue Manager Commands CCTMQM, Connect to Message Queue Manager CHGMQM, Change Message Queue Manager CRTMQM, Create Message Queue Manager DLTMQM, Delete Message Queue Manager DSCMQM, Disconnect from Message Queue Manager DSPMQM, Display Message Queue Manager DSPMQMSTS, Display Message Queue Manager Status ENDMQM, End Message Queue Manager STRMQM, Start Message Queue Manager STRMQMTRM, Start WebSphere MQ Trigger Monitor WRKMQM, Work with Message Queue Manager v Service Commands CHGMQMSVC, Change WebSphere MQ Service CPYMQMSVC, Copy WebSphere MQ Service CRTMQMSVC, Create WebSphere MQ Service DLTMQMSVC, Delete WebSphere MQ Service DSPMQMSVC, Display WebSphere MQ Service ENDMQMSVC, End WebSphere MQ Service STRMQMSVC, Start WebSphere MQ Service WRKMQMSVC, Work with WebSphere MQ Services v Trace Command TRCMQM, Trace WebSphere MQ Job v WebSphere MQSC Commands RUNMQSC, Run WebSphere MQSC Commands STRMQMMQSC, Start WebSphere MQSC Commands v WebSphere MQ Dead-Letter Queue Handler Command STRMQMDLQ, Start WebSphere MQ Dead-Letter Queue Handler v WebSphere MQ Route Information
Chapter 2. Managing WebSphere MQ for iSeries using CL commands
17
CL commands
DSPMQMRTE, Display WebSphere MQ Route Information v WebSphere MQ Version Details DSPMQMVER, Display WebSphere MQ Version
18
19
20
Type options, press Enter. 2=Change 3=Copy 4=Delete 5=Display 12=Work with messages 13=Clear... Opt Name SYSTEM.ADMIN.CHANNEL.EVENT SYSTEM.ADMIN.COMMAND.QUEUE SYSTEM.ADMIN.PERFM.EVENT SYSTEM.ADMIN.QMGR.EVENT SYSTEM.AUTH.DATA.QUEUE SYSTEM.CHANNEL.INITQ SYSTEM.CHANNEL.SYNCQ SYSTEM.CICS.INITIATION.QUEUE SYSTEM.CLUSTER.COMMAND.QUEUE
Type Depth *LCL 0 *LCL 0 *LCL 0 *LCL 1 *LCL 29 *LCL 0 *LCL 1 *LCL 0 *LCL 0
Jobs 0 0 0 0 1 1 0 0 1 More...
Parameters for options 2, 3, 4, 5, 12, 13, 14, 15, 16 or command ===> F3=Exit F4=Prompt F5=Refresh F6=Create F7=Filter F9=Retrieve F11=Change View F12=Cancel F16=Repeat find F17=Find F24=More keys
5. Press F6 to create a new queue; this takes you to the CRTMQMQ panel. See Creating a local queue using the CRTMQMQ command on page 19 for instructions on how to create the queue. When you have created the queue, the Work with MQM Queues panel is displayed again. The new queue is added to the list when you press F5=Refresh.
21
6. Optionally, type the name of the transmission queue to the remote location in the Transmission queue field. If you do not specify a transmission queue name, the transmission queue with the same name as the remote queue manager is used.
22
23
This command changes the dead-letter queue used, and enables inhibit events.
Notes: 1. USAGE *NORMAL indicates that this queue is not a transmission queue. 2. If you already have a local queue on the same queue manager with the name orange.local.queue, this command fails. Use the REPLACE *YES attribute, if you want to overwrite the existing definition of a queue, but see also Changing local queue attributes on page 26.
24
This command creates a queue with the same attributes as our original queue orange.local.queue, rather than those of the system default local queue. You can also use the CPYMQMQ command to copy a queue definition, but substituting one or more changes to the attributes of the original. For example:
CPYMQMQ FROMQ(orange.local.queue) TOQ(third.queue) MQMNAME(MYQUEUEMANAGER) MAXMSGLEN(1024)
This command copies the attributes of the queue orange.local.queue to the queue third.queue, but specifies that the maximum message length on the new queue is to be 1024 bytes, rather than 2000. Note: When you use the CPYMQMQ command, you copy the queue attributes only, not the messages on the queue.
25
This command changes a single attribute, that of the maximum message length; all the other attributes remain the same. v Using the CRTMQMQ command with the REPLACE *YES option, for example:
CRTMQMQ QNAME(orange.local.queue) QTYPE(*LCL) MQMNAME(MYQUEUEMANAGER) MAXMSGLEN(10000) REPLACE(*YES)
This command changes not only the maximum message length, but all the other attributes, which are given their default values. The queue is now put enabled whereas previously it was put inhibited. Put enabled is the default, as specified by the queue SYSTEM.DEFAULT.LOCAL.QUEUE, unless you have changed it. If you decrease the maximum message length on an existing queue, existing messages are not affected. Any new messages, however, must meet the new criteria.
You cannot clear a queue if: v There are uncommitted messages that have been put on the queue under syncpoint. v An application currently has the queue open.
26
This command redirects MQI calls that specify my.alias.queue to the queue yellow.queue. The command does not create the target queue; the MQI calls fail if the queue yellow.queue does not exist at run time. If you change the alias definition, you can redirect the MQI calls to another queue. For example:
CHGMQMQ QNAME(my.alias.queue) TGTQNAME(magenta.queue) MQMNAME(MYQUEUEMANAGER)
This command redirects MQI calls to another queue, magenta.queue. You can also use alias queues to make a single queue (the target queue) appear to have different attributes for different applications. You do this by defining two aliases, one for each application. Suppose there are two applications: v Application ALPHA can put messages on yellow.queue, but is not allowed to get messages from it. v Application BETA can get messages from yellow.queue, but is not allowed to put messages on it. You can do this using the following commands:
/* This alias is put enabled and get disabled for application ALPHA */ CRTMQMQ QNAME(alphas.alias.queue) QTYPE(*ALS) TGTQNAME(yellow.queue) PUTENBL(*YES) GETENBL(*NO) MQMNAME(MYQUEUEMANAGER) /* This alias is put disabled and get enabled for application BETA */ CRTMQMQ QNAME(betas.alias.queue) QTYPE(*ALS) TGTQNAME(yellow.queue) PUTENBL(*NO) GETENBL(*YES) MQMNAME(MYQUEUEMANAGER)
ALPHA uses the queue name alphas.alias.queue in its MQI calls; BETA uses the queue name betas.alias.queue. They both access the same queue, but in different ways. You can use the REPLACE *YES attribute when you define alias queues, in the same way that you use these attributes with local queues.
27
This command creates a model queue definition. From the DFNTYPE attribute, the actual queues created from this template are permanent dynamic queues. The attributes not specified are automatically copied from the SYSYTEM.DEFAULT.MODEL.QUEUE default queue. You can use the REPLACE *YES attribute when you define model queues, in the same way that you use them with local queues.
28
What is triggering?
The queue manager defines certain conditions as constituting trigger events. If triggering is enabled for a queue and a trigger event occurs, the queue manager sends a trigger message to a queue called an initiation queue. The presence of the trigger message on the initiation queue indicates that a trigger event has occurred. Trigger messages generated by the queue manager are not persistent. This has the effect of reducing logging (thereby improving performance), and minimizing duplicates during restart, so improving restart time.
The Trigger Monitor now performs a SBMJOB using the specified description.
29
Display MQ Process Queue manager name . . . . . . > QmgrName Process name . . . . . . . . . > ProcessName Text description . . . . . . > Application type . . . . . . > *OS400 Application identifier . . . > LibName/PgmName User data . . . . . . . . . . > Environment data . . . . . . > USER(UserName) JOBNAME(JobName) JOBD(*LIBL/QDFTJOBD) LOG( 4 00 *Seclvl) Last alter date . . . . . . . > 2005-05-01 Last alter date . . . . . . . > 11.44.29 F3=Exit F12=Cancel F21=Print
It is possible to override other attributes of the SBMJOB by specifying the appropriate keyword and value in the Environment Data of the process definition. The only exception to this is the CMD keyword because this attribute is filled by the trigger monitor. An example of the command to specify the Environment Data of the process definition where both the job name and description are to be altered follows:
CHGMQMPRC PRCNAME(MY_PROCESS) MQMNAME(MHA3) ENVDATA (JOBD(MYLIB/TRIGJOB) JOB(TRIGGER))
where the parameters are: MQMNAME(MYQUEUEMANAGER) The name of the queue manager. QNAME(motor.insurance.queue) The name of the application queue being defined. PRCNAME(motor.insurance.quote.process) The name of the application to be started by a trigger monitor program.
30
where the parameters are: MQMNAME(MYQUEUEMANAGER) The name of the queue manager. PRCNAME(motor.insurance.quote.process) The name of the process definition. TEXT(Insurance request message processing) A description of the application program to which this definition relates. This text is displayed when you use the DSPMQMPRC command. This can help you to identify what the process does. If you use spaces in the string, you must enclose the string in single quotation marks. APPTYPE(*OS400) The type of application to be started.
Chapter 2. Managing WebSphere MQ for iSeries using CL commands
31
You can also use the CHGMQMPRC command to alter an existing process definition, and the DLTMQMPRC command to delete a process definition.
3. Define the WebSphere MQ objects on SYSTEMA that you need to send messages to a queue manager on SYSTEMB.
/* Transmission queue */ CRTMQMQ QNAME(XMITQ.TO.QMGRB1) QTYPE(*LCL) + MQMNAME(QMGRA1) TEXT(Transmission Queue + to QMGRB1) MAXDEPTH(5000) USAGE(*TMQ) /* Remote queue that points to a queue called TARGETB /* TARGETB belongs to queue manager QMGRB1 on SYSTEMB CRTMQMQ QNAME(TARGETB.ON.QMGRB1) QTYPE(*RMT) + MQMNAME(QMGRA1) TEXT(Remote Q pointing + at Q TARGETB on QMGRB1 on Remote System + SYSTEMB) RMTQNAME(TARGETB) + RMTMQMNAME(QMGRB1) TMQNAME(XMITQ.TO.QMGRB1) */ */
/* TCP/IP sender channel to send messages to the queue manager on SYSTEMB*/ CRTMQMCHL CHLNAME(QMGRA1.TO.QMGRB1) CHLTYPE(*SDR) + MQMNAME(QMGRA1) TRPTYPE(*TCP) + TEXT(Sender Channel From QMGRA1 on + SYSTEMA to QMGRB1 on SYSTEMB) + CONNAME(SYSTEMB) TMQNAME(XMITQ.TO.QMGRB1)
6. Define the WebSphere MQ objects that you need to receive messages from the queue manager on SYSTEMA.
32
7. Finally, start a TCP/IP listener on SYSTEMB so that the channel can be started. This example uses the default port of 1414.
STRMQMLSR MQMNAME(QMGRB1)
You are now ready to send test messages between SYSTEMA and SYSTEMB. Using one of the supplied samples, put a series of messages to your remote queue on SYSTEMA. Start the channel on SYSTEMA, either by using the command STRMQMCHL, or by using the command WRKMQMCHL and entering a start request (Option 14) against the sender channel. The channel should go to RUNNING status and the messages are sent to queue TARGETB on SYSTEMB. Check your messages by issuing the command:
WRKMQMMSG QNAME(TARGETB) MQMNAME(QMGRB1).
33
34
35
MQSC source is held in members within this source file. To work with the members enter the following command:
WRKMBRPDM MYLIB/QMQSC
You can now add new members and maintain existing ones You can also enter MQSC commands interactively, by issuing RUNMQSC or: 1. Typing in the queue manager name and pressing the Enter key to access the WRKMQM results panel 2. Selecting F23=More options on this panel 3. Selecting option 26 against an active queue manager on the panel shown in Figure 4 To end such an MQSC session, type end.
Work with queue managers Type options, press Enter. 21=Work with NameLists 24=Work with Authorities Opt Name mick mike 22=Work with Jobs 25=Work with AuthInfo 23=Display logs 26=MQSC ... Status Default ACTIVE NO ACTIVE NO
36
For portability among WebSphere MQ environments, limit the line length in MQSC command files to 72 characters. The plus sign indicates that the command is continued on the next line. Object attributes specified in MQSC are shown in this book in uppercase (for example, RQMNAME), although they are not case sensitive. Notes: 1. The format of an MQSC file does not depend on its location in the file system 2. MQSC attribute names are limited to eight characters. 3. MQSC commands are available on other platforms, including z/OS. The WebSphere MQ Script (MQSC) Command Reference contains a description of each MQSC command and its syntax.
37
Using PCFs
manager using the MQI function MQPUT in the same way as any other message. The command server on the queue manager receiving the message interprets it as a command message and runs the command. To get the replies, the application issues an MQGET call and the reply data is returned in another data structure. The application can then process the reply and act accordingly. Briefly, these are some of the things the application programmer must specify to create a PCF command message: Message descriptor This is a standard WebSphere MQ message descriptor, in which: Message type (MsqType) is MQMT_REQUEST. Message format (Format) is MQFMT_ADMIN. Application data Contains the PCF message including the PCF header, in which: The PCF message type (Type) specifies MQCFT_COMMAND. The command identifier specifies the command, for example, Change Queue (MQCMD_CHANGE_Q). For a complete description of the PCF data structures and how to implement them, see WebSphere MQ Programmable Command Formats and Administration Interface.
Escape PCFs
Escape PCFs are PCF commands that contain MQSC commands within the message text. You can use PCFs to send commands to a remote queue manager. For more information about using escape PCFs, see WebSphere MQ Programmable Command Formats and Administration Interface.
38
Using PCFs
data. To do this, several statements are needed in your program for every structure, and memory space must be allocated. This task is long and laborious. On the other hand, programs written using the MQAI pass parameters into the appropriate data bag and only one statement is required for each structure. The use of MQAI data bags removes the need for you to handle arrays and allocate storage, and provides some degree of isolation from the details of the PCF. Handle error conditions more easily It is difficult to get return codes back from MQSC commands, but the MQAI makes it easier for the program to handle error conditions. After you have created and populated your data bag, you can then send an administration command message to the command server of a queue manager, using the mqExecute call, which waits for any response messages. The mqExecute call handles the exchange with the command server and returns responses in a response bag. For more information about using the MQAI and PCFs in general, see the WebSphere MQ Programmable Command Formats and Administration Interface.
39
Introduction
Start and stop a channel. View status information about a channel. View queue managers in a cluster. Check to see which applications, users, or channels have a particular queue open. v Create a new queue manager cluster using the Create New Cluster wizard. v Add a queue manager to a cluster using the Add Queue Manager to Cluster wizard. v v v v v Manage the authentication information object, used with Secure Sockets Layer (SSL) channel security.
Prerequisite software
WebSphere MQ Explorer is integrated with Eclipse V3.0 and runs in two modes: v Stand-alone application v In an Eclipse Workbench The WebSphere MQ Explorer can connect to remote queue managers using the TCP/IP communication protocol only. The WebSphere MQ Explorer handles the differences in the capabilities between the different command levels and platforms. However, if it encounters a value that it does not recognize as an attribute for an object, you cannot change the value of that attribute.
40
where saturn.queue.manager is the queue manager for which the command server is being started.
Issue this command on the target machine. If the command server is running, the panel shown in Figure 6 appears:
Display MQM Command Server (DSPMQMCSVR) Queue manager name . . . . . . . > saturn.queue.manager MQM Command Server Status. . . . > RUNNING
F5=Refresh
F12=Cancel
You can stop the command server in two different ways: v For a controlled stop, use the ENDMQMCSVR command with the *CNTRLD option, which is the default.
Chapter 3. Alternative ways of administering WebSphere MQ
41
Instrumentation events
You can use WebSphere MQ instrumentation events to monitor the operation of queue managers. See Monitoring WebSphere MQ for information about WebSphere MQ instrumentation events and how to use them.
42
Warning Do not alter WebSphere MQ work management objects unless you fully understand the concepts of OS/400 and WebSphere MQ work management. Additional information regarding subsystems and job descriptions can be found in OS/400 Work Management. Pay particular attention to the sections on Job Starting and Routing and Batch Jobs. WebSphere MQ for iSeries incorporates the OS/400 UNIX environment and OS/400 threads. Do not make any changes to the objects in the Integrated File System (IFS). During normal operations, a WebSphere MQ queue manager starts a number of batch jobs to perform different tasks. By default these batch jobs run in the QMQM subsystem that is created when WebSphere MQ is installed. Work management refers to the process of tailoring WebSphere MQ tasks to obtain the optimum performance from your system, or to make administration simpler. For example, you can: v Change the run-priority of jobs to make one queue manager more responsive than another. v Redirect the output of a number of jobs to a particular output queue. v Make all jobs of a certain type run in a specific subsystem. v Isolate errors to a subsystem. Work management is carried out by creating or changing the job descriptions associated with the WebSphere MQ jobs. You can configure work management for: v An entire WebSphere MQ installation v Individual queue managers v Individual jobs for individual queue managers
43
Description of tasks
Table 1. WebSphere MQ tasks. (continued) Job name AMQCRS6B AMQFCXBA AMQPCSEA AMQRMPPA AMQRRMFA AMQZDMAA AMQZFUMA AMQZLAA0 AMQZLAS0 AMQZXMA0 AMQZMGR0 AMQZMUC0 AMQZMUR0 RUNMQBRK RUNMQCHI RUNMQCHL RUNMQDLQ RUNMQLSR RUNMQTRM Function LU62 receiver channel and client connection (see note). Broker worker job PCF command processor that handles PCF and remote administration requests Channel process pooling job Repository manager for clusters Deferred message handler Object authority manager (OAM) Queue manager agents that perform the bulk of the work for applications that connect to the queue manager using MQCNO_STANDARD_BINDING Queue manager agent The execution controller that is the first job started by the queue manager. It deals with MQCONN requests, and starts agent processes to process WebSphere MQ API calls Process controller. This job is used to start up and manage listeners and services. Utility manager. This job executes critical queue manager utilities, for example the journal chain manager. Utility manager. This job executes critical queue manager utilities, for example the journal chain manager. Broker control job The channel initiator Sender channel job that is started for each sender channel Dead letter queue handler Threaded TCP/IP listener Trigger monitor
Note: The LU62 receiver job runs in the communications subsystem and takes its run-time properties from the routing and communications entries that are used to start the job. See WebSphere MQ Intercommunication for more details.
You can view all jobs connected to a queue manager, except listeners (which do not connect), using option 22 on the Work with Queue Manager (WRKMQM) panel. You can view listeners using the WRKMQMLSR command.
44
objects
Note: The work management objects can be found in the QMQM library and the queue manager objects can be found in the queue manager library.
Table 2. Work management objects Name AMQALMPX AMQZLAA0 AMQZLSA0 AMQZXMA0 QMQM QMQM QMQMJOBD QMQMMSG QMQMRUN20 QMQMRUN35 QMQMRUN50 Type *JOBD *JOBD *JOBD *JOBD *SBSD *JOBQ *JOBD *MSGQ *CLS *CLS *CLS Description The checkpoint process The job description that is used by the WebSphere MQ agent processes The isolated bindings queue manager agent The job description that is used by WebSphere MQ execution controllers The subsystem in which all WebSphere MQ jobs run The job queue attached to the supplied subsystem The default WebSphere MQ job description, used if there is not a specific job description for a job The default message queue for WebSphere MQ jobs. A class description for high priority WebSphere MQ jobs A class description for medium priority WebSphere MQ jobs A class description for low priority WebSphere MQ jobs
Table 3. Work management objects created for a queue manager Name AMQA000000 AMQAJRN AMQJRNINF Type *JRNRCV *JRN *USRSPC Description Local journal receiver Local journal User space that is updated with the latest journal receivers required for startup and media recovery of a queue manager. This user space can be queried by an application to determine which journal receivers require archiving and which can be safely deleted. Local journal message queue Program to start the LU6.2 connection Migrated queue manager channel definition file Queue manager message queue
45
If you answer No to all these questions, create a global job description QMQMJOBD in the QMQM library.
46
47
Configuration examples
1. The following example increases the priority of channel control jobs for an individual queue manager. To make the repository manager and channel initiator jobs, AMQRRMFA and RUNMQCHI, run as quickly as possible for queue manager TESTQM, carry out the following steps: a. Create local duplicates of the QMQM/QMQMJOBD job description with the names of the WebSphere MQ processes that you want to control in the queue manager library. For example,
CRTDUPOBJ OBJ(QMQMJOBD) FROMLIB(QMQM) OBJTYPE(*JOBD) TOLIB(QMTESTQM) NEWOBJ(RUNMQCHI) CRTDUPOBJ OBJ(QMQMJOBD) FROMLIB(QMQM) OBJTYPE(*JOBD) TOLIB(QMTESTQM) NEWOBJ(AMQRRMFA)
b. Change the routing data parameter on the job description to ensure that the jobs use the QMQMRUN20 class.
CHGJOBD JOBD(QMTESTQM/RUNMQCHI) RTGDTA(QMQMRUN20) CHGJOBD JOBD(QMTESTQM/AMQRRMFA) RTGDTA(QMQMRUN20)
The AMQRRMFA and RUNMQCHI jobs for queue manager TESTQM now: v Use the new local job descriptions in the queue manager library v Run with priority 20, because the QMQMRUN20 class is used when the jobs enter the subsystem. 2. The following example defines a new run priority class for the QMQM subsystem. a. Create a duplicate class in the QMQM library, to allow other queue managers to access the class, by issuing the following command:
CRTDUPOBJ OBJ(QMQMRUN20) FROMLIB(QMQM) OBJTYPE(*CLS) TOLIB(QMQM) NEWOBJ(QMQMRUN10)
b. Change the class to have the new run priority by issuing the following command:
CHGCLS CLS(QMQM/QMQMRUN10) RUNPTY(10)
c. Add the new class definition to the subsystem by issuing the following command:
ADDRTGE SBSD(QMQM/QMQM) SEQNBR(8999) CMPVAL(QMQMRUN10) PGM(QSYS/QCMD) CLS(QMQM/QMQMRUN10)
48
Now all the queue manager jobs associated with the QMlibraryname use a run priority of 10. 3. The following example runs a queue manager in its own subsystem To make all the jobs for queue manager TESTQM run in the QBATCH subsystem, carry out the following steps: a. Create a local duplicate of the QMQM/QMQMJOBD job description in the queue manager library with the command
CRTDUPOBJ OBJ(QMQMJOBD) FROMLIB(QMQM) OBJTYPE(*JOBD) TOLIB(QMTESTQM2)
b. Change the job queue parameter on the job description to ensure that the jobs use the QBATCH job queue.
CHGJOBD JOBD(QMTESTQM2/QMQMJOBD) JOBQ(*LIBL/QBATCH)
Note: The job queue is associated with the subsystem description. If you find that the jobs are staying on the job queue, verify that the job queue definition is defined on the SBSD. Use the DSPSBSD command for the subsystem and take option 6, Job queue entries. All jobs for queue manager TESTQM2 now: v Use the new local default job description in the queue manager library v Are submitted to job queue QBATCH. To ensure that jobs are routed and prioritized correctly: v Either create routing entries for the WebSphere MQ jobs in subsystem QBATCH, or v Rely on a catch-all routing entry that calls QCMD, irrespective of what routing data is used. This option works only if the maximum active jobs option for job queue QBATCH is set to *NOMAX. The system default is 1. 4. The following example creates another WebSphere MQ subsystem a. Create a duplicate subsystem in the QMQM library by issuing the following command:
CRTDUPOBJ OBJ(QMQM) FROMLIB(QMQM) OBJTYPE(*SBSD) TOLIB(QMQM) NEWOBJ(QMQM2)
c. Create a new job queue for the subsystem by issuing the following command:
CRTJOBQ JOBQ(QMQM/QMQM2) TEXT(Job queue for MQSeries Queue Manager)
d. Add a job queue entry to the subsystem by issuing the following command:
ADDJOBQE SBSD(QMQM/QMQM2) JOBQ(QMQM/QMQM2) MAXACT(*NOMAX)
e. Create a duplicate QMQMJOBD in the queue manager library by issuing the following command:
CRTDUPOBJ OBJ(QMQMJOBD) FROMLIB(QMQM) OBJTYPE(*JOBD) TOLIB(QMlibraryname)
f. Change the job description to use the new job queue by issuing the following command:
CHGJOBD JOBD(QMlibraryname/QMQMJOBD) JOBQ(QMQM/QMQM2)
Chapter 4. Work management
49
Notes: a. You can specify the subsystem in any library. If for any reason the product is reinstalled, or the QMQM library is replaced, any changes you made are removed. b. All the queue manager jobs associated with the QMlibraryname now run under subsystem QMQM2. 5. The following example collects all output for a job type. To collect all the checkpoint process, AMQALMPX, job logs for multiple queue managers onto a single output queue, carry out the following steps: a. Create an output queue, for example
CRTOUTQ OUTQ(MYLIB/CHCKPTLOGS)
b. Create a global duplicate of the QMQM/QMQMJOBD job description, using the name of the WebSphere MQ process that you want to control, for example
CRTDUPOBJ OBJ(QMQMJOBD) FROMLIB(QMQM) OBJTYPE(*JOBD) NEWOBJ(AMQALMPX)
c. Change the output queue parameter on the job description to point to your new output queue, and change the job logging level so that all messages are written to the job log.
CHGJOBD JOBD(QMQM/AMQALMPX) OUTQ(MYLIB/CHKPTLOGS) LOG(4 00 *SECLVL)
All WebSphere MQ AMQALMPX jobs, for all queue managers, use the new global AMQALMPX job description, providing that there are no local overriding job descriptions in the local queue manager library. All job log spool files for these jobs are now written to output queue CHKPTLOGS in library MYLIB. Notes: a. The preceding example works only if the QPJOBLOG, or any print file, has a value of *JOB for its output queue parameter. In the preceding example, the QSYS/QPDJOBLOG file needs OUTQ set to *JOB. b. To change a system print file, use the CHGPRTF command. For example:
CHGPRTF PRTF(QJOBLOG) OUTQ(*JOB)
The *JOB option indicates that your job descriptions must be used. c. You can send any spool files associated with the WebSphere MQ jobs to a particular output queue. However, verify that the print file being used has the appropriate value for the OUTQ parameter.
50
Security considerations
You need to consider the following points when setting up authorities to the users in your enterprise: 1. Grant and revoke authorities to the WebSphere MQ for iSeries commands using the OS/400 GRTOBJAUT and RVKOBJAUT commands. 2. During installation of WebSphere MQ for iSeries the following special user profiles are created: QMQM Is used primarily for internal product-only functions. However, it can be used to run trusted applications using MQCNO_FASTPATH_BINDINGS; see the WebSphere MQ Application Programming Guide for further information. QMQMADM Is used as a group profile for administrators of WebSphere MQ. The group profile gives access to CL commands and WebSphere MQ resources. If you are sending channel commands to remote queue managers, ensure that your user profile is a member of the group QMQMADM on the target system. For a list of PCF and MQSC channel commands, see Channel command security on page 78. The group set associated with a user is cached when the group authorizations are computed by the OAM. Any changes made to a users group memberships after the group set has been cached are not recognized until you restart the queue manager or execute RFRMQMAUT to refresh security. Limit the number of users who have authority to work with commands that are particularly sensitive. These commands include: v Create Message Queue Manager (CRTMQM) v Delete Message Queue Manager (DLTMQM) v Start Message Queue Manager (STRMQM) v End Message Queue Manager (ENDMQM) v Start Command Server (STRMQMCSVR) v End Command Server (ENDMQMCSVR) Channel definitions contain a security exit program specification. Channel creation and modification requires special considerations. Details of security exits is given in WebSphere MQ Intercommunication. The channel exit and trigger monitor programs can be substituted. The security of such replacements is the responsibility of the programmer.
3.
4.
5.
6.
7.
51
WebSphere MQ authorities
Access to WebSphere MQ objects is controlled by authorities to: 1. Issue the WebSphere MQ command 2. Access the WebSphere MQ objects referenced by the command All WebSphere MQ for iSeries CL commands are shipped with an owner of QMQM, and the administration profile (QMQMADM) has *USE rights with the *PUBLIC access set to *EXCLUDE. Changes to the authority structure of some of the products CL commands allows public use of these commands, provided that you have the required OAM authority to the WebSphere MQ objects to make these changes.
52
WebSphere MQ authorities
Note: These authorities override any OAM authority. These commands can be grouped as follows: v Command Server Commands ENDMQMCSVR, End WebSphere MQ Command Server STRMQMCSVR, Start WebSphere MQ Command Server v Dead-Letter Queue Handler Command STRMQMDLQ, Start WebSphere MQ Dead-Letter Queue Handler v Media Recovery Commands RCDMQMIMG, Record WebSphere MQ Object Image RCRMQMOBJ, Recreate WebSphere MQ Object WRKMQMTRN, Work with WebSphere MQ Transactions v Queue Manager Commands CRTMQM, Create Message Queue Manager DLTMQM, Delete Message Queue Manager ENDMQM, End Message Queue Manager STRMQM, Start Message Queue Manager v Security Commands GRTMQMAUT, Grant WebSphere MQ Object Authority RVKMQMAUT, Revoke WebSphere MQ Object Authority v Trace Command TRCMQM, Trace WebSphere MQ Job v Transaction Commands RSVMQMTRN, Resolve WebSphere MQ Transaction v Trigger Monitor Commands STRMQMTRM, Start Trigger Monitor v WebSphere MQSC Commands RUNMQSC, Run WebSphere MQSC Commands STRMQMMQSC, Start WebSphere MQSC Commands Group 2 The rest of the commands, for which two levels of authority are required: 1. OS/400 authority to run the command. A WebSphere MQ administrator sets this using the GRTOBJAUT command to override the *PUBLIC(*EXCLUDE) restriction for a user or group of users. For example:
GRTOBJAUT OBJ(DSPMQMQ) OBJTYPE(*CMD) USER(MQUSER) AUT(*USE)
2. WebSphere MQ authority to manipulate the WebSphere MQ objects associated with the command, or commands, given the correct OS/400 authority in Step 1. This authority is controlled by the user having the appropriate OAM authority for the required action, set by a WebSphere MQ administrator using the GRTMQMAUT command For example:
CHGMQMQ *connect authority to the queue manager + *admchg authority to the queue
The commands can be grouped as follows: v Authentication Information Commands CHGMQMAUTI, Change WebSphere MQ Authentication Information CPYMQMAUTI, Copy WebSphere MQ Authentication Information CRTMQMAUTI, Create WebSphere MQ Authentication Information DLTMQMAUTI, Delete WebSphere MQ Authentication Information
Chapter 5. Protecting WebSphere MQ objects
53
WebSphere MQ authorities
v Channel Commands CHGMQMCHL, Change WebSphere MQ Channel CPYMQMCHL, Copy WebSphere MQ Channel CRTMQMCHL, Create WebSphere MQ Channel DLTMQMCHL, Delete WebSphere MQ Channel RSVMQMCHL, Resolve WebSphere MQ Channel v Display commands To process the DSP commands you must grant the user *connect and *admdsp authority to the queue manager, together with any specific option listed: DSPMQM, Display Message Queue Manager DSPMQMAUT, Display WebSphere MQ Object Authority DSPMQMAUTI, Display WebSphere MQ Authentication Information DSPMQMCHL, Display WebSphere MQ Channel DSPMQMCSVR, Display WebSphere MQ Command Server DSPMQMNL, Display WebSphere MQ Namelist *admdsp to the namelist DSPMQMOBJN, Display WebSphere MQ Object Names DSPMQMPRC, Display WebSphere MQ Process *admdsp to the process DSPMQMQ, Display WebSphere MQ Queue *admdsp to the queue v Work with commands To process the WRK commands and display the options panel you must grant the user *connect and *admdsp authority to the queue manager, together with any specific option listed: WRKMQM, Work with Message Queue Managers WRKMQMAUT, Work with WebSphere MQ Object Authority WRKMQMAUTD, Work with WebSphere MQ Object Authority Data WRKMQMAUTI, Work with WebSphere MQ Authentication Information WRKMQMCHL, Work with WebSphere MQ Channel WRKMQMCHST, Work with WebSphere MQ Channel Status WRKMQMCL, Work with WebSphere MQ Clusters WRKMQMCLQM, Work with WebSphere MQ Cluster Queue Manager WRKMQMLSR, Work with WebSphere MQ Listener WRKMQMMSG, Work with WebSphere MQ Messages This requires *browse authority to the queue WRKMQMNL, Work with WebSphere MQ Namelists This requires the following authorities: *admchg for the Change WebSphere MQ Namelist command. *admcpy for the Copy WebSphere MQ Namelist command. *admcrt for the Create WebSphere MQ Namelist command. *admdlt for the Delete WebSphere MQ Namelist command. *admdsp for the Display WebSphere MQ Namelist command. WRKMQMPRC, Work with WebSphere MQ Processes This requires the following authorities: *admchg for the Change WebSphere MQ Process command. *admcpy for the Copy WebSphere MQ Process command. *admcrt for the Create WebSphere MQ Process command. *admdlt for the Delete WebSphere MQ Process command. *admdsp for the Display WebSphere MQ Process command. WRKMQMQ, Work with WebSphere MQ queues This requires the following authorities:
54
WebSphere MQ authorities
*admchg for the Change WebSphere MQ Queue command. *admclr for the Clear WebSphere MQ Queue command. *admcpy for the Copy WebSphere MQ Queue command. *admcrt for the Create WebSphere MQ Queue command. *admdlt for the Delete WebSphere MQ Queue command. *admdsp for the Display WebSphere MQ Queue command. WRKMQMQSTS, Work with WebSphere MQ Queue Status v Other Channel commands To process the channel commands you must grant the user the specific authorities listed: ENDMQMCHL, End WebSphere MQ Channel This requires *connect authority to the queue manager and *allmqi authority to the transmission queue associated with the channel. ENDMQMLSR, End WebSphere MQ Listener This requires no WebSphere MQ object authority. PNGMQMCHL, Ping WebSphere MQ Channel This requires *connect and *inqauthority to the queue manager. RSTMQMCHL, Reset WebSphere MQ Channel This requires *connect authority to the queue manager. STRMQMCHL, Start WebSphere MQ Channel This requires *connect authority to the queue manager and *allmqi authority to the transmission queue associated with the channel. STRMQMCHLI, Start WebSphere MQ Channel Initiator This requires *connect and *inq authority to the queue manager, and *allmqi authority to the initiation queue associated with the transmission queue of the channel. STRMQMLSR, Start WebSphere MQ Listener This requires no WebSphere MQ object authority. v Other commands: To process the following commands you must grant the user the specific authorities listed: CCTMQM, Connect to Message Queue Manager This requires no WebSphere MQ object authority. CHGMQM, Change Message Queue Manager This requires *connect and *admchg authority to the queue manager. CHGMQMNL, Change WebSphere MQ Namelist This requires *connect authority to the queue manager and *admchg authority to the namelist. CHGMQMPRC, Change WebSphere MQ Process This requires *connect authority to the queue manager and *admchg authority to the process. CHGMQMQ, Change WebSphere MQ Queue This requires *connect authority to the queue manager and *admchg authority to the queue. CLRMQMQ, Clear WebSphere MQ Queue This requires *connect authority to the queue manager and *admchg authority to the queue. CPYMQMNL, Copy WebSphere MQ Namelist
Chapter 5. Protecting WebSphere MQ objects
55
WebSphere MQ authorities
This requires *connect and *admcrtauthority to the queue manager. CPYMQMPRC, Copy WebSphere MQ Process This requires *connect and *admcrtauthority to the queue manager. CPYMQMQ, Copy WebSphere MQ Queue This requires *connect and *admcrtauthority to the queue manager. CRTMQMNL, Create WebSphere MQ Namelist This requires *connect and *admcrtauthority to the queue manager and *admdsp authority to the default namelist. CRTMQMPRC, Create WebSphere MQ Process This requires *connect and *admcrtauthority to the queue manager and *admdsp authority to the default process. CRTMQMQ, Create WebSphere MQ Queue This requires *connect and *admcrtauthority to the queue manager and *admdsp authority to the default queue. CVTMQMDTA, Convert WebSphere MQ Data Type Command This requires no WebSphere MQ object authority. DLTMQMNL, Delete WebSphere MQ Namelist This requires *connect authority to the queue manager and *admdlt authority to the namelist. DLTMQMPRC, Delete WebSphere MQ Process This requires *connect authority to the queue manager and *admdlt authority to the process. DLTMQMQ, Delete WebSphere MQ Queue This requires *connect authority to the queue manager and *admdlt authority to the queue. DSCMQM, Disconnect from Message Queue Manager This requires no WebSphere MQ object authority. RFRMQMAUT, Refresh Security This requires *connect authority to the queue manager. RFRMQMCL, Refresh Cluster This requires *connect authority to the queue manager. RSMMQMCLQM, Resume Cluster Queue Manager This requires *connect authority to the queue manager. RSTMQMCL, Reset Cluster This requires *connect authority to the queue manager. SPDMQMCLQM, Suspend Cluster Queue Manager This requires *connect authority to the queue manager.
Access authorizations
Authorizations defined by the AUT keyword on the GRTMQMAUT and RVKMQMAUT commands can be categorized as follows: v Authorizations related to MQI calls v Authorization-related administration commands v Context authorizations v General authorizations, that is, for MQI calls, for commands, or both The following tables list the different authorities, using the AUT parameter for MQI calls, Context calls, MQSC and PCF commands, and generic operations.
56
WebSphere MQ authorities
Table 4. Authorizations for MQI calls AUT *ALTUSR *BROWSE *CONNECT *GET *INQ *PUT *SET Description Allow another users authority to be used for MQOPEN and MQPUT1 calls. Retrieve a message from a queue by issuing an MQGET call with the BROWSE option. Connect the application to the specified queue manager by issuing an MQCONN call. Retrieve a message from a queue by issuing an MQGET call. Make an inquiry on a specific queue by issuing an MQINQ call. Put a message on a specific queue by issuing an MQPUT call. Set attributes on a queue from the MQI by issuing an MQSET call. If you open a queue for multiple options, you must be authorized for each of them.
Table 5. Authorizations for context calls AUT *PASSALL *PASSID *SETALL *SETID Description Pass all context on the specified queue. All the context fields are copied from the original request. Pass identity context on the specified queue. The identity context is the same as that of the request. Set all context on the specified queue. This is used by special system utilities. Set identity context on the specified queue. This is used by special system utilities.
Table 6. Authorizations for MQSC and PCF calls AUT *ADMCHG *ADMCLR *ADMCRT *ADMDLT *ADMDSP Description Change the attributes of the specified object. Clear the specified queue (PCF Clear queue command only). Create objects of the specified type. Delete the specified object. Display the attributes of the specified object.
Table 7. Authorizations for generic operations AUT *ALL *ALLADM *ALLMQI *CTRL *CTRLX Description Use all operations applicable to the object. Perform all administration operations applicable to the object. Use all MQI calls applicable to the object. Control startup and shutdown of channels, listeners, and services. Reset sequence number and resolve indoubt channels.
57
WebSphere MQ authorities
In this example: v RED.LOCAL.QUEUE is the object name. v *LCLQ (local queue) is the object type. v GROUPA is the name of a user profile on the system whose authorizations are to change. This can be used as a group profile for other users. v *BROWSE and *PUT are the authorizations being granted to the specified queue. *BROWSE adds authorization to browse messages on the queue (to issue MQGET with the browse option). *PUT adds authorization to put (MQPUT) messages on the queue. v saturn.queue.manager is the queue manager name. 2. The following command grants to users JACK and JILL all applicable authorizations, to all process definitions, for the default queue manager.
GRTMQMAUT OBJ(*ALL) OBJTYPE(*PRC) USER(JACK JILL) AUT(*ALL)
3. The following command grants user GEORGE authority to put a message on the queue ORDERS, on the queue manager TRENT.
GRTMQMAUT OBJ(TRENT) OBJTYPE(*MQM) USER(GEORGE) AUT(*CONNECT) MQMNAME (TRENT) GRTMQMAUT OBJ(ORDERS) OBJTYPE(*Q) USER(GEORGE) AUT(*PUT) MQMNAME (TRENT)
The authority to put messages to the specified queue, that was granted in the previous example, is removed for GROUPA. 2.
RVKMQMAUT OBJ(PAY*) OBJTYPE(*Q) USER(*PUBLIC) AUT(*GET) + MQMNAME(PAYROLLQM)
Authority to get messages from any queue whose name starts with the characters PAY, owned by queue manager PAYROLLQM, is removed from all users of the system unless they, or a group to which they belong, have been separately authorized.
58
WebSphere MQ authorities
the operating system level, without needing to stop and restart the queue manager. The following example illustrates how the command is used:
RFRMQMAUT MQMNAME(ADMINQM)
MQI authorizations
An application is allowed to issue specific MQI calls and options only if the user identifier under which it is running (or whose authorizations it is able to assume) has been granted the relevant authorization. Four MQI calls require authorization checks: MQCONN, MQOPEN, MQPUT1, and MQCLOSE. For MQOPEN and MQPUT1, the authority check is made on the name of the object being opened, and not on the name, or names, resulting after a name has been resolved. For example, an application can be granted authority to open an alias queue without having authority to open the base queue to which the alias resolves. The rule is that the check is carried out on the first definition encountered during the process of name resolution that is not a queue-manager alias, unless the queue-manager alias definition is opened directly; that is, its name appears in the ObjectName field of the object descriptor. Authority is always needed for the particular object being opened; in some cases additional queue-independent authority, obtained through an authorization for the queue-manager object, is required. Table 8 on page 60, Table 9 on page 60, Table 10 on page 60, and Table 11 on page 60 summarize the authorizations needed for each call.
59
60
61
Administration authorizations
These authorizations allow a user to issue administration commands. This can be an MQSC command as an escape PCF message or as a PCF command itself. These methods allow a program to send an administration command as a message to a queue manager, for execution on behalf of that user.
CLEAR QLOCAL
Object Authorization required
62
DELETE object
Object Queue Process Queue manager Namelist Authentication information Authorization required MQZAO_DELETE MQZAO_DELETE Not applicable MQZAO_DELETE MQZAO_DELETE
63
DISPLAY object
Object Queue Process Queue manager Namelist Authentication information Channel Client connection channel Listener Service Authorization required MQZAO_DISPLAY MQZAO_DISPLAY MQZAO_DISPLAY MQZAO_DISPLAY MQZAO_DISPLAY MQZAO_DISPLAY MQZAO_DISPLAY
PING CHANNEL
Object Queue Process Queue manager Namelist Authentication information Channel Client connection channel Listener Service Authorization required Not applicable Not applicable Not applicable Not applicable Not applicable MQZAO_CONTROL Not applicable Not applicable Not applicable
RESET CHANNEL
Object Queue Process Queue manager Namelist Authentication information Channel Client connection channel Listener Service Authorization required Not applicable Not applicable Not applicable Not applicable Not applicable MQZAO_CONTROL_EXTENDED Not applicable Not applicable Not applicable
64
START CHANNEL
Object Queue Process Queue manager Namelist Authentication information Channel Client connection channel Listener Service Authorization required Not applicable Not applicable Not applicable Not applicable Not applicable MQZAO_CONTROL Not applicable Not applicable Not applicable
START LISTENER
Object Queue Process Queue manager Namelist Authentication information Channel Client connection channel Listener Service Authorization required Not applicable Not applicable Not applicable Not applicable Not applicable Not applicable Not applicable MQZAO_CONTROL Not applicable
START SERVICE
Object Queue Process Queue manager Authorization required Not applicable Not applicable Not applicable
65
STOP CHANNEL
Object Queue Process Queue manager Namelist Authentication information Channel Client connection channel Listener Service Authorization required Not applicable Not applicable Not applicable Not applicable Not applicable MQZAO_CONTROL Not applicable Not applicable Not applicable
STOP LISTENER
Object Queue Process Queue manager Namelist Authentication information Channel Client connection channel Listener Service Authorization required Not applicable Not applicable Not applicable Not applicable Not applicable Not applicable Not applicable MQZAO_CONTROL Not applicable
STOP SERVICE
Object Queue Process Queue manager Namelist Authentication information Channel Client connection channel Listener Authorization required Not applicable Not applicable Not applicable Not applicable Not applicable Not applicable Not applicable Not applicable
66
Note: 1. For DEFINE commands, MQZAO_DISPLAY authority is also needed for the LIKE object if one is specified, or on the appropriate SYSTEM.DEFAULT.xxx object if LIKE is omitted. 2. The MQZAO_CREATE authority is not specific to a particular object or object type. Create authority is granted for all objects for a specified queue manager, by specifying an object type of QMGR on the GRTMQAUT command. 3. This applies if the object to be replaced already exists. If it does not, the check is as for DEFINE object NOREPLACE.
67
68
Delete object
Object Queue Process Queue manager Namelist Authentication information Channel Client connection channel Listener Service Authorization required MQZAO_DELETE MQZAO_DELETE MQZAO_DELETE MQZAO_DELETE MQZAO_DELETE MQZAO_DELETE MQZAO_DELETE MQZAO_DELETE MQZAO_DELETE
Inquire object
Object Queue Process Queue manager Namelist Authentication information Channel Client connection channel Listener Authorization required MQZAO_DISPLAY MQZAO_DISPLAY MQZAO_DISPLAY MQZAO_DISPLAY MQZAO_DISPLAY MQZAO_DISPLAY MQZAO_DISPLAY MQZAO_DISPLAY
69
Ping Channel
Object Queue Process Queue manager Namelist Authentication information Channel Client connection channel Listener Service Authorization required Not applicable Not applicable Not applicable Not applicable Not applicable MQZAO_CONTROL Not applicable Not applicable Not applicable
Reset Channel
Object Queue Process Queue manager Namelist Authentication information Channel Client connection channel Listener Service Authorization required Not applicable Not applicable Not applicable Not applicable Not applicable MQZAO_CONTROL_EXTENDED Not applicable Not applicable Not applicable
70
Resolve Channel
Object Queue Process Queue manager Namelist Authentication information Channel Client connection channel Listener Service Authorization required Not applicable Not applicable Not applicable Not applicable Not applicable MQZAO_CONTROL_EXTENDED Not applicable Not applicable Not applicable
Start Channel
Object Queue Process Queue manager Namelist Authentication information Channel Client connection channel Listener Service Authorization required Not applicable Not applicable Not applicable Not applicable Not applicable MQZAO_CONTROL Not applicable Not applicable Not applicable
Stop Channel
Object Queue Process Queue manager Namelist Authentication information Channel Authorization required Not applicable Not applicable Not applicable Not applicable Not applicable MQZAO_CONTROL
71
Note: 1. For Copy commands, MQZAO_DISPLAY authority is also needed for the From object. 2. The MQZAO_CREATE authority is not specific to a particular object or object type. Create authority is granted for all objects for a specified queue manager, by specifying an object type of QMGR on the GRTMQAUT command. 3. For Create commands, MQZAO_DISPLAY authority is also needed for the appropriate SYSTEM.DEFAULT.* object. 4. This applies if the object to be replaced already exists. If it does not, the check is as for Copy or Create without replace.
72
Generic profiles
v The entire profile name to match all object names. For example, if you use the keyword OBJTYPE (*PRC) to identify processes, then use ** as the profile name, you change the authorizations for all processes. v As either the beginning, middle, or ending qualifier in a profile name to match zero or more qualifiers in an object name. For example, **.ABC identifies all objects with the final qualifier ABC.
Profile priorities
An important point to understand when using generic profiles is the priority that profiles are given when deciding what authorities to apply to an object being created. For example, suppose that you have issued the commands:
GRTMQMAUT OBJ(AB.*) OBJTYPE(*Q) USER(FRED) AUT(*PUT) MQMNAME(MYQMGR) GRTMQMAUT OBJ(AB.C*) OBJTYPE(*Q) USER(FRED) AUT(*GET) MQMNAME(MYQMGR)
The first gives put authority to all queues for the principal FRED with names that match the profile AB.*; the second gives get authority to the same types of queue that match the profile AB.C*. Suppose that you now create a queue called AB.CD. According to the rules for wildcard matching, either GRTMQMAUT could apply to that queue. So, does it have put or get authority? To find the answer, you apply the rule that, whenever multiple profiles can apply to an object, only the most specific applies. The way that you apply this rule is by comparing the profile names from left to right. Wherever they differ, a non-generic character is more specific then a generic character. So, in the example above, the queue AB.CD has get authority (AB.C* is more specific than AB.*). When you are comparing generic characters, the order of specificity is: 1. ? 2. * 3. **
73
WRKMQMAUT
This command allows you to work with the authority data held in the authority queue. Figure 7 shows the input panel for this command. Note: To run this command you must have *connect and *admdsp authority to the queue manager. However, to create or delete a profile, you need QMQMADM authority. If you output the information to the screen, a list of authority profile names, together with their types, is displayed. If you print the output, you receive a detailed list of all the authority data, the registered users, and their authorities.
Work with MQ Authority (WRKMQMAUT) Type choices, press Enter. Object/Profile name . . . . . . Object type . . . . . . . . . . Output . . . . . . . . . . . . . Message Queue Manager name . . . *ALL *ALL * *DFT *Q, *PRC, *MQM, *NMLIST... *, *PRINT
Bottom ===> ________________________________________________________________________ F3=Exit F4=Prompt F5=Refresh F12=Cancel F13= How to use this display F24=More keys
Entering an object or profile name on this panel, and pressing ENTER takes you to the results panel for WRKMQMAUT, shown in Figure 8 on page 75.
74
Type options, press Enter. 4=Delete 12=Work with profile Opt Authority Profile Name SYSTEM.DEFAULT.NAMELIST SYSTEM.DEFAULT.PROCESS SYSTEM.DEFAULT.REMOTE.QUEUE SYSTEM.MQSC.REPLY.QUEUE SYSTEM.PENDING.DATA.QUEUE Type *NMLIST *PRC *Q *Q *Q
Bottom ===> F3=Exit F4=Prompt F16=Repeat position to F5=Refresh F6=Create F17=Position to F9=Retrieve F21=Print F12=Cancel
If you select 4=Delete, you go to a new panel from which you can confirm that you want to delete all the user names registered to the generic authority profile name you specify. This option runs RVKMQMAUT with the option *REMOVE for all the users, and applies only to generic profile names. If you select 12=Work with profile you go to the WRKMQMAUTD command results panel, as explained in WRKMQMAUTD.
WRKMQMAUTD
This command allows you to display all the users registered with a particular authority profile name and object type. To run this command you must have *connect and *admdsp authority to the queue manager. However, to grant, run, create, or delete a profile you need QMQMADM authority. Figure 9 on page 76 shows the input panel of the WRKMQMAUTD command.
75
Work with MQ Authority Data (WRKMQMAUTD) Type choices, press Enter. Object/Profile name . . . . . . Object type . . . . . . . . . . User name . . . . . . . . . . . Message Queue Manager name . . . *Q, *PRC, *MQM, *NMLIST... Name, *PUBLIC, *ALL
F5=Refresh
F12=Cancel
Selecting F24=More keys from the initial input panel, followed by option F9=All Parameters displays the Service Component Name as for GRTMQMAUT and RVKMQMAUT. Figure 10 shows the results panel of the WRKMQMAUTD command.
Work with MQ Authority Data Queue Manager Name . . : Authority Profile Name : Object Type . . . . . : *DFT SYSTEM.DEFAULT.PROCESS *PRC 5=Display SET ALTUSR X X
Type options, press Enter. 2=Grant 3=Revoke 4=Delete Opt UserName MQUSER QMQMADM
Bottom ===> F3=Exit F4=Prompt F5=Refresh F11=Display Object Authorizations F6=Create F12=Cancel F9=Retrieve F24=More keys
Note: The F11=Display Object Authorizations key toggles between the following types of authorities: v Object authorizations v Context authorizations
76
5=Display F6=Create
Queues
The authority to a dynamic queue is based on, but is not necessarily the same as, that of the model queue from which it is derived. For alias queues and remote queues, the authorization is that of the object itself, not the queue to which the alias or remote queue resolves. It is possible to authorize a user profile to access an alias queue that resolves to a local queue to which the user profile has no access permissions. Limit the authority to create queues to privileged users. If you do not, users can bypass the normal access control simply by creating an alias.
Alternate-user authority
Alternate-user authority controls whether one user profile can use the authority of another user profile when accessing a WebSphere MQ object. This is essential where a server receives requests from a program and the server wants to ensure that the program has the required authority for the request. The server might have the required authority, but it needs to know whether the program has the authority for the actions it has requested. For example: v A server program running under user profile PAYSERV retrieves a request message from a queue that was put on the queue by user profile USER1.
Chapter 5. Protecting WebSphere MQ objects
77
OAM guidelines
v When the server program gets the request message, it processes the request and puts the reply back into the reply-to queue specified with the request message. v Instead of using its own user profile (PAYSERV) to authorize opening the reply-to queue, the server can specify some other user profile, in this case, USER1. In this example, you can use alternate-user authority to control whether PAYSERV is allowed to specify USER1 as an alternate-user profile when it opens the reply-to queue. The alternate-user profile is specified on the AlternateUserId field of the object descriptor. Note: You can use alternate-user profiles on any WebSphere MQ object. Use of an alternate-user profile does not affect the user profile used by any other resource managers.
Context authority
Context is information that applies to a particular message and is contained in the message descriptor, MQMD, which is part of the message. For descriptions of the message descriptor fields relating to context, see the WebSphere MQ Application Programming Reference. For information about the context options, see the WebSphere MQ Application Programming Guide.
Transmission queues Queue managers automatically put remote messages on a transmission queue; no special authority is required for this. However, putting a message directly on a transmission queue requires special authorization. Channel exits Channel exits can be used for added security. For more information about remote security, see WebSphere MQ Intercommunication.
78
OAM guidelines
particular channel uses SSL security. You can also specify details of the kind of security you want, such as the encryption algorithm you want to use. SSL support in WebSphere MQ uses the queue manager authentication information object and various CL and MQSC commands and queue manager and channel parameters that define the SSL support required in detail. The following CL commands support SSL: WRKMQMAUTI Work with the attributes of an authentication information object. CHGMQMAUTI Modify the attributes of an authentication information object. CRTMQMAUTI Create a new authentication information object. CPYMQMAUTI Create a new authentication information object by copying an existing one. DLTMQMAUTI Delete an authentication information object. DSPMQMAUTI Displays the attributes for a specific authentication information object. For an overview of channel security using SSL, see WebSphere MQ Security. For details of PCF commands associated with SSL, see WebSphere MQ Programmable Command Formats and Administration Interface.
79
80
Note: The rules table is a member within a source physical file that can take any name. The above examples apply to the DLQ called ABC1.DEAD.LETTER.QUEUE, owned by the default queue manager. If you do not specify the DLQ or the queue manager as shown above, the default queue manager for the installation is used along with the DLQ belonging to that queue manager. The STRMQMDLQ command takes its input from the rules table. You must be authorized to access both the DLQ itself, and any message queues to which messages on the DLQ are forwarded, in order to run the DLQ handler. You must also be authorized to assume the identity of other users, for the DLQ to put messages on queues with the authority of the user ID in the message context.
Copyright IBM Corp. 1994, 2005
81
Control data
This section describes the keywords that you can include in a control-data entry in a DLQ handler rules table. Note the following: v The default value for a keyword, if any, is underlined. v The vertical line (|) separates alternatives. You can specify only one of these. v All keywords are optional. INPUTQ (QueueName|' ') The name of the DLQ you want to process: 1. Any UDLMSGQ value (or *DFT) you specify as a parameter to the STRMQMDLQ command overrides any INPUTQ value in the rules table. 2. If you specify a blank UDLMSGQ value as a parameter to the STRMQMDLQ command, the INPUTQ value in the rules table is used. 3. If you specify a blank UDLMSGQ value as a parameter to the STRMQMDLQ command, and a blank INPUTQ value in the rules table, the system default dead-letter queue is used. INPUTQM (QueueManagerName|' ') The name of the queue manager that owns the DLQ named on the INPUTQ keyword. If you do not specify a queue manager, or you specify INPUTQM(' ') in the rules table, the system uses the default queue manager for the installation. RETRYINT (Interval|60) The interval, in seconds, at which the DLQ handler should attempt to reprocess messages on the DLQ that could not be processed at the first attempt, and for which repeated attempts have been requested. By default, the retry interval is 60 seconds. WAIT (YES|NO|nnn) Whether the DLQ handler should wait for further messages to arrive on the DLQ when it detects that there are no further messages that it can process. YES NO nnn Causes the DLQ handler to wait indefinitely. Causes the DLQ handler to terminate when it detects that the DLQ is either empty or contains no messages that it can process. Causes the DLQ handler to wait for nnn seconds for new work to arrive before terminating, after it detects that the queue is either empty or contains no messages that it can process.
Specify WAIT (YES) for busy DLQs, and WAIT (NO) or WAIT (nnn) for DLQs that have a low level of activity. If the DLQ handler is allowed to terminate, re-invoke it using triggering.
82
This rule instructs the DLQ handler to make 3 attempts to deliver to its destination queue any persistent message that was put on the DLQ because MQPUT and MQPUT1 were inhibited. This section describes the keywords that you can include in a rule. Note the following: v The default value for a keyword, if any, is underlined. For most keywords, the default value is * (asterisk), which matches any value. v The vertical line (|) separates alternatives. You can specify only one of these. v All keywords except ACTION are optional. This section begins with a description of the pattern-matching keywords (those against which messages on the DLQ are matched). It then describes the action keywords (those that determine how the DLQ handler is to process a matching message).
83
84
HEADER (YES|NO) Whether the MQDLH should remain on a message for which ACTION (FWD) is requested. By default, the MQDLH remains on the message. The HEADER keyword is not valid for actions other than FWD. PUTAUT (DEF|CTX) The authority with which messages should be put by the DLQ handler: DEF CTX Puts messages with the authority of the DLQ handler itself. Causes the messages to be put with the authority of the user ID in the message context. You must be authorized to assume the identity of other users, if you specify PUTAUT (CTX).
RETRY (RetryCount|1) The number of times, in the range 1999 999 999, to attempt an action (at the interval specified on the RETRYINT keyword of the control data). Note: The count of attempts made by the DLQ handler to implement any particular rule is specific to the current instance of the DLQ handler; the count does not persist across restarts. If you restart the DLQ handler, the count of attempts made to apply a rule is reset to zero.
Chapter 6. The WebSphere MQ dead-letter queue handler
85
results in ABCD.
APPLNAME(ABCD)
results in ABC D. v Comment lines, which begin with an asterisk (*), can occur anywhere in the rules table. v Blank lines are ignored. v Each entry in the DLQ handler rules table comprises one or more keywords and their associated parameters. The parameters must follow these syntax rules: Each parameter value must include at least one significant character. The delimiting quotation marks in quoted values are not considered significant. For example, these parameters are valid:
FORMAT(ABC) FORMAT(ABC) FORMAT(A) FORMAT(A) FORMAT( ) 3 3 1 1 1 significant significant significant significant significant characters characters character character character
Wildcard characters are supported. You can use the question mark (?) in place of any single character, except a trailing blank. You can use the asterisk (*) in
86
However, MSGTYPE(2*) is not valid, because it includes an asterisk (*) as part of a numeric parameter. Numeric parameters must be in the range 0999 999 999. If the parameter value is in this range, it is accepted, even if it is not currently valid in the field to which the keyword relates. You can use symbolic names for numeric parameters. If a string value is shorter than the field in the MQDLH or MQMD to which the keyword relates, the value is padded with blanks to the length of the field. If the value, excluding asterisks, is longer than the field, an error is diagnosed. For example, these are all valid string values for an 8-character field:
ABCDEFGH A*C*E*G*I *A*C*E*G*I*K*M*O* 8 characters 5 characters excluding asterisks 8 characters excluding asterisks
Strings that contain blanks, lowercase characters, or special characters other than period (.), forward slash (/), underscore (_), and percent sign (%) must be enclosed in single quotation marks. Lowercase characters not enclosed in quotation marks are folded to uppercase. If the string includes a quotation, two single quotation marks must be used to denote both the beginning and the end of the quotation. When the length of the string is calculated, each occurrence of double quotation marks is counted as a single character.
87
Similarly, make the final rule in the table a catchall to process messages that have not been addressed by earlier rules in the table. For example, the final rule in the table could be something like this:
ACTION (FWD) FWDQ (REALLY.DEAD.QUEUE) HEADER (YES)
88
REASON(MQRC_Q_FULL) ACTION(RETRY) RETRY(5) * * * * If a message is placed on the DLQ because of a put inhibited condition, attempt to forward the message to its destination queue. Make 5 attempts at approximately 60-second intervals (the default value for RETRYINT).
REASON(MQRC_PUT_INHIBITED) ACTION(RETRY) RETRY(5) * * * * * The AAAA corporation is always sending messages with incorrect addresses. When we find a request from the AAAA corporation, we return it to the DLQ (DEADQ) of the reply-to queue manager (&REPLYQM). The AAAA DLQ handler attempts to redirect the message.
MSGTYPE(MQMT_REQUEST) REPLYQM(AAAA.*) + ACTION(FWD) FWDQ(DEADQ) FWDQM(&REPLYQM) * The BBBB corporation never does things by half measures. If * the queue manager BBBB.1 is unavailable, try to * send the message to BBBB.2 DESTQM(bbbb.1) + action(fwd) fwdq(&DESTQ) fwdqm(bbbb.2) header(no) * * * * * * The CCCC corporation considers itself very security conscious, and believes that none of its messages will ever end up on one of our DLQs. Whenever we see a message from a CCCC queue manager on our DLQ, we send it to a special destination in the CCCC organization where the problem is investigated.
89
PERSIST(MQPER_NOT_PERSISTENT) ACTION(DISCARD) * * * * * * * * * * * * * * For performance and efficiency reasons, we like to keep the number of messages on the DLQ small. If we receive a message that has not been processed by an earlier rule in the table, we assume that it requires manual intervention to resolve the problem. Some problems are best solved at the node where the problem was detected, and others are best solved where the message originated. We do not have the message origin, but we can use the REPLYQM to identify a node that has some interest in this message. Attempt to put the message onto a manual intervention queue at the appropriate node. If this fails, put the message on the manual intervention queue at this node.
90
where
Copyright IBM Corp. 1994, 2005
91
Journals
nnnnn is decimal 00000 to 99999 r is decimal 0 to 9
The sequence of the journals is based on date. However, the naming of the next journal is based on the following rules: 1. AMQArnnnnn goes to AMQAr(nnnnn+1), and nnnnn wraps when it reaches 99999. For example, AMQA000000 goes to AMQA000001, and AMQA999999 goes to AMQA000000. 2. If a journal with a name generated by rule 1 already exists, the message CPI7OE3 is sent to the QSYSOPR message queue and automatic receiver switching stops. The currently-attached receiver continues to be used until you investigate the problem and manually attach a new receiver. 3. If no new name is available in the sequence (that is, all possible journal names are on the system) you need to do both of the following: a. Delete journals no longer needed (see Journal management on page 97). b. Record the journal changes into the latest journal receiver using (RCDMQMIMG) and then repeat the previous step. This allows the old journal receiver names to be reused. The AMQAJRN journal uses the MNGRCV(*SYSTEM) option to enable the operating system to automatically change journal receivers when the threshold is reached. For more information on how the system manages receivers, see i5/OS Backup and Recovery. The journal receivers default threshold value is 100 000 KB. You can set this to a larger value when you create the queue manager. The initial value of the LogReceiverSize attribute is written to the LogDefaults stanza of the mqs.ini file. When a journal receiver extends beyond its specified threshold, the receiver is detached and a new journal receiver is created, inheriting attributes from the previous receiver. Changes to the LogReceiverSize or LogASP attributes after a queue manager has been created are ignored when the system automatically attaches a new journal receiver See Chapter 9, Configuring WebSphere MQ, on page 123 for further details on configuring the system. If you need to change the size of journal receivers after the queue manager has been created, create a new journal receiver and set its owner to QMQM using the following commands:
CRTJRNRCV JRNRCV(QMGRLIB/AMQAnnnnnn) THRESHOLD(xxxxxx) + TEXT(MQM LOCAL JOURNAL RECEIVER) CHGOBJOWN OBJ(QMGRLIB/AMQAnnnnnn) OBJTYPE(*JRNRCV) NEWOWN(QMQM)
where QmgrLib Is the name of your queue manager library nnnnnnn Is the next journal receiver in the naming sequence described xxxxxx Is the new receiver threshold (in KB)
92
Journals
Note: The maximum size of the receiver is governed by the operating system. To check this value look at the THRESHOLD keyword on the CRTJRNRCV command. Now attach the new receiver to the AMQAJRN journal with the command:
CHGJRN JRN(QMGRLIB/AMQAJRN) JRNRCV(QMGRLIB/AMQAnnnnnn)
See Journal management on page 97 for details on how to manage these journal receivers.
As the queues handle further messages, the checkpoint record becomes inconsistent with the current state of the queues. When WebSphere MQ is restarted, it locates the latest checkpoint record in the log. This information is held in the checkpoint file that is updated at the end of every checkpoint. The checkpoint record represents the most recent point of consistency between the log and the data. The data from this checkpoint is used to rebuild the queues as they existed at the checkpoint time. When the queues are recreated, the log is then played forward to bring the queues back to the state they were in before system failure or close down. To understand how WebSphere MQ uses the journal, consider the case of a local queue called TESTQ in the queue manager TEST. This is represented by the IFS file:
/QIBM/UserData/mqm/qmgrs/TEST/queues
If a specified message is put on this queue, and then retrieved from the queue, the actions that take place are shown in Figure 11.
93
Journals
Journal entries WebSphere MQ for iSeries Put on TESTQ Get from TESTQ
A TESTQ FILE
B Update TESTQ
D Update TESTQ
Time
The five points, A through E, shown in the diagram represent points in time that define the following states: A B C D E The IFS file representation of the queue is consistent with the information contained in the journal. A journal entry is written to the journal defining a Put operation on the queue. The appropriate update is made to the queue. A journal entry is written to the journal defining a Get operation from the queue. The appropriate update is made to the queue.
The key to the recovery capabilities of WebSphere MQ for iSeries is that the user can save the IFS file representation of TESTQ as at time A, and subsequently recover the IFS file representation of TESTQ as at time E, simply by restoring the saved object and replaying the entries in the journal from time A onwards. This strategy is used by WebSphere MQ for iSeries to recover persistent messages after system failure. WebSphere MQ remembers a particular entry in the journal receivers, and ensures that on startup it replays the entries in the journals from this point onwards. This startup entry is periodically recalculated so that WebSphere MQ only has to perform the minimum necessary replay on the next startup. WebSphere MQ provides individual recovery of objects. All persistent information relating to an object is recorded in the local WebSphere MQ for iSeries journals. Any WebSphere MQ object that becomes damaged or corrupt can be completely rebuilt from the information held in the journal. For more information on how the system manages receivers, see i5/OS Backup and Recovery.
Media images
A WebSphere MQ object of long duration can represent a large number of journal entries, going back to the point at which it was created. To avoid this overhead, WebSphere MQ for iSeries has the concept of a media image of an object. This media image is a complete copy of the WebSphere MQ object recorded in the journal. If an image of an object is taken, the object can be rebuilt by replaying journal entries from this image onwards. The entry in the journal that represents the replay point for each WebSphere MQ object is referred to as its media recovery entry. WebSphere MQ keeps track of the:
94
Journals
v Media recovery entry for each queue manager object. v Oldest entry from within this set (see error message AMQ7462 in WebSphere MQ Messages for details. Images of the *CTLG object and the *MQM object are taken regularly because these objects are crucial to queue manager restart. Images of other objects are taken when convenient. By default, images of all objects are taken when a queue manager is shut down using ENDMQM with parameter ENDCCTJOB(*YES). This operation can take a considerable amount of time for very large queue managers. If you need to shut down quickly, specify parameter RCDMQMIMG(*NO) with ENDCCTJOB(*YES). In such cases, you are recommended to record a complete media image in the journals after the queue manager has been restarted, using the following command:
RCDMQMIMG OBJ(*ALL) OBJTYPE(*ALL) MQMNAME(<Q_MGR_NAME>)
WebSphere MQ automatically records an image of an object, if it finds a convenient point at which an object can be compactly described by a small entry in the journal. However, this might never happen for some objects, for example, queues that consistently contain large numbers of messages. Rather than allow the date of the oldest media recovery entry to continue for an unnecessarily long period, use the WebSphere MQ command RCDMQMIMG, which enables you to take an image of selected objects manually.
Checkpoints
As described above, checkpoints are taken at various times to provide a known consistent start point for recovery. The checkpoint process AMQALMPX is responsible for taking the checkpoint at the following points: v Queue manager startup (STRMQM). v Queue manager shutdown (ENDMQM). v After a period of time has elapsed since the last checkpoint (the default period is 30 minutes) and a minimum number of log records have been written since the previous checkpoint (the default value is 100). v After a number of log records have been written. The default value is 10 000. v After the journal threshold size has been exceeded and a new journal receiver has been automatically created. v When a full media image is taken with:
RCDMQMIMG OBJ(*ALL) OBJTYPE(*ALL) MQMNAME(<Q_MGR_NAME>) DSPJRNDTA(*YES)
Chapter 7. Backup, recovery, and restart
95
Backups of data
2. Use the RCDMQMIMG command to record an MQM image for all WebSphere MQ objects, and then force a checkpoint using the command:
RCDMQMIMG OBJ(*ALL) OBJTYPE(*ALL) DSPJRNDTA(*YES) MQMNAME(TEST)
3. End channels and ensure that the queue manager is not running. If your queue manager is running, stop it with the ENDMQM command. 4. Backup the queue manager library by issuing the following command:
SAVLIB LIB(QMTEST)
5. Back up the queue manager IFS directories by issuing the following command:
SAV DEV(...) OBJ((/QIBM/UserData/mqm/qmgrs/test))
Journal backup of a particular queue manager Because all relevant information is held in the journals, as long as you perform a full save at some time, partial backups can be performed by saving the journal receivers. These record all changes since the time of the full backup and are performed by issuing the following commands: 1. Create an empty journal receiver, using the command:
CHGJRN JRN(QMTEST/AMQAJRN) JRNRCV(*GEN)
2. Use the RCDMQMIMG command to record an MQM image for all WebSphere MQ objects, and then force a checkpoint using the command:
RCDMQMIMG OBJ(*ALL) OBJTYPE(*ALL) DSPJRNDTA(*YES) MQMNAME(TEST)
96
Backups of data
A simple backup strategy is to perform a full backup of the WebSphere MQ libraries every week, and perform a daily journal backup. This, of course, depends on how you have set up your backup strategy for your enterprise.
Journal management
As part of your backup strategy, take care of your journal receivers. It is useful to remove journal receivers from the WebSphere MQ libraries, in order to: 1. Release space; this applies to all journal receivers 2. Improve the performance when starting (STRMQM) 3. Improve the performance of recreating objects (RCRMQMOBJ) Before deleting a journal receiver, be sure that: 1. You have a backup copy. 2. You no longer need the journal receiver. Journal receivers can be removed from the queue manager library after they have been detached from the journals and saved, provided that they are available for restoration if needed for a recovery operation. The concept of journal management is shown in Figure 12.
WebSphere MQ for iSeries Journal
RCVA 9
Date info
RCVA 8
RCVA 7
RCVA 5
RCVA 4
97
Backups of data
It is important to know how far back in the journals WebSphere MQ is likely to need to go, in order to determine when a journal receiver that has been backed up can be removed from the queue manager library, and when the backup itself can be discarded. To help determine this time, WebSphere MQ issues two messages to the queue manager message queue (QMQMMSG in the queue manager library) when: v It starts up v It changes a local journal receiver v You use RCDMQIMG to force a checkpoint These messages are: AMQ7460 Startup recovery point. This message defines the date and time of the startup entry from which WebSphere MQ replays the journal in the event of a startup recovery pass. If the journal receiver that contains this record is available in the WebSphere MQ libraries, this message also contains the name of the journal receiver containing the record. AMQ7462 Oldest media recovery entry. This message defines the date and time of the oldest entry to use to recreate an object from its media image. The journal receiver identified is the oldest one required. Any other WebSphere MQ journal receivers with older creation dates are no longer needed. If only stars are displayed, you need to restore backups from the date indicated to determine which is the oldest journal receiver. When these messages are logged, WebSphere MQ also writes a user space object to the queue manager library that contains only one entry: the name of the oldest journal receiver that needs to be kept on the system. This user space is called AMQJRNINF, and the data is written in the format:
JJJJJJJJJJLLLLLLLLLLYYYYMMDDHHMMSSmmm
where: JJJJJJJJJJ Is the oldest receiver name that WebSphere MQ still needs. LLLLLLLLLL Is the journal receiver library name. YYYY MM DD HH SS mmm Is the year of the oldest journal entry that WebSphere MQ needs. Is the month of the oldest journal entry that WebSphere MQ needs. Is the day of the oldest journal entry that WebSphere MQ needs. Is the hour of the oldest journal entry that WebSphere MQ needs. Is the seconds of the oldest journal entry that WebSphere MQ needs. Is the milliseconds of the oldest journal entry that WebSphere MQ needs.
When the oldest journal receiver has been deleted from the system, this user space contains asterisks (*) for the journal receiver name. Note: Periodically performing RCDMQMIMG OBJ(*ALL) OBJTYPE(*ALL) DSPJRNDTA(*YES) can save startup time for WebSphere MQ and reduce the number of local journal receivers you need to save and restore for recovery.
98
Backups of data
WebSphere MQ for iSeries does not refer to the journal receivers unless it is performing a recovery pass either for startup, or for recreating an object. If it finds that a journal it requires is not present, it issues message AMQ7432 to the queue manager message queue (QMQMMSG), reporting the time and date of the journal entry it requires to complete the recovery pass. If this happens, restore all journal receivers that were detached after this date from the backup, in order to allow the recovery pass to succeed. Keep the journal receiver that contains the startup entry, and any subsequent journal receivers, available in the queue manager library. Keep the journal receiver containing the oldest Media Recovery Entry, and any subsequent journal receivers, available at all times, and either present in the queue manager library or backed-up. When you force a checkpoint: v If the journal receiver named in AMQ7460 is not advanced, this indicates that there is an incomplete unit of work that needs to be committed or rolled back. v If the journal receiver named in AMQ7462 is not advanced, this indicates that there are one or more damaged objects.
If a journal receiver was partially saved in one journal backup, and fully saved in a subsequent backup, restore only the fully saved one. Restore journals individually, in chronological order. 4. Perform an RST operation to restore the WebSphere MQ IFS directories to the IFS file system, using the following command:
RST DEV(...) OBJ((/QIBM/UserData/mqm/qmgrs/testqm)) ...
5. Start the message queue manager. This replays all journal records written since the full backup and restores all the WebSphere MQ objects to the consistent state at the time of the journal backup. If you want to restore a complete queue manager on a different machine, use the procedure below to restore everything from the queue manager library. (We use TEST as the sample queue manager name.) 1. CRTMQM TEST 2. DLTLIB LIB(QMTEST) 3. RSTLIB SAVLIB(QMTEST) DEV(*SAVF) SAVF(QMGRLIBSAV) 4. Delete the following IFS files: /qibm/userdata/mqm/qmgrs/TEST/QMQMCHKPT /qibm/userdata/mqm/qmgrs/TEST/qmanager/QMQMOBJCAT
Chapter 7. Backup, recovery, and restart
99
Backups of data
/qibm/userdata/mqm/qmgrs/TEST/queues/SYSTEM.AUTH.DATA.QUEUE 5. STRMQM TEST 6. RCRMQMOBJ OBJ(*ALL) OBJTYPE(*ALL) MQMNAME(TEST)
A series of journal receivers might need to be restored, rather than a single receiver. For example, AMQA000007 is the oldest receiver in the WebSphere MQ libraries, and both AMQA000005 and AMQA000006 need to be restored. In this case, restore the receivers individually in reverse chronological order. This is not always necessary, but is good practice. In severe situations, you might need to use the i5/OS command WRKJRNA to associate the restored journal receivers with the journal. When restoring journals, the system automatically creates an attached journal receiver with a new name in the journal receiver sequence. However, the new name generated might be the same as a journal receiver you need to restore. Manual intervention is needed to overcome this problem; to create a new name journal receiver in sequence, and new journal before restoring the journal receiver. For instance, consider the problem with saved journal AMQAJRN and the following journal receivers: AMQA000000 AMQA100000 AMQA200000 AMQA300000 AMQA400000 AMQA500000 AMQA600000 AMQA700000 AMQA800000 AMQA900000 When restoring journal AMQAJRN to a queue manager library, the system automatically creates journal receiver AMQA000000. This automatically generated receiver conflicts with one of the existing journal receivers (AMQA000000) you want to restore, which you cannot restore. The solution is: 1. Manually create the next journal receiver (see WebSphere MQ for iSeries journals on page 91):
CRTJRNRCV JRNRCV(QMQRLIB/AMQA900001) THRESHOLD(XXXXX)
100
Performance considerations
101
102
Preliminary checks
Before you start problem determination in detail, it is worth considering the facts to see if there is something obvious with which to start your investigation. This approach to debugging can often save a lot of work by highlighting a simple error, or by narrowing down the range of possibilities. The cause of your problem could be in any of the following: v Hardware v Operating system v Related software, for example, a language compiler v The network v The WebSphere MQ product v Your WebSphere MQ application v Other applications v Site operating procedures The sections that follow raise some fundamental questions that you need to consider. As you go through the questions, make a note of anything that might be relevant to the problem. Even if your observations do not suggest a cause immediately, they could be useful later if you have to carry out a systematic problem determination exercise.
103
Preliminary checks
The following steps are intended to help you isolate the problem and are taken from the viewpoint of an WebSphere MQ application. Check all the suggestions at each stage. 1. Has WebSphere MQ for iSeries run successfully before? Yes No Proceed to Step 2.
It is likely that you have not installed or set up WebSphere MQ correctly. 2. Has the WebSphere MQ application run successfully before? Yes No Proceed to Step 3. Consider the following:
a. The application might have failed to compile or link, and fails if you attempt to invoke it. Check the output from the compiler or linker. Refer to the appropriate programming language reference manual, or the WebSphere MQ Application Programming Guide, for information on how to build your application. b. Consider the logic of the application. For example, do the symptoms of the problem indicate that a function is failing and, therefore, that a piece of code is in error. Check the following common programming errors: v Assuming that queues can be shared, when they are in fact exclusive. v Trying to access queues and data without the correct security authorization. v Passing incorrect parameters in an MQI call; if the wrong number of parameters is passed, no attempt can be made to complete the completion code and reason code fields, and the task is ended abnormally. v Failing to check return codes from MQI requests. v Using incorrect addresses. v Passing variables with incorrect lengths specified. v Passing parameters in the wrong order. v Failing to initialize MsgId and CorrelId correctly. 3. Has the WebSphere MQ application changed since the last successful run? Yes It is likely that the error lies in the new or modified part of the application. Check all the changes and see if you can find an obvious reason for the problem. a. Have all the functions of the application been fully exercised before? Could it be that the problem occurred when part of the application that had never been invoked before was used for the first time? If so, it is likely that the error lies in that part of the application. Try to find out what the application was doing when it failed, and check the source code in that part of the program for errors. b. If the program has run successfully before, check the current queue status and files that were being processed when the error occurred. It is possible that they contain some unusual data value that causes a rarely used path in the program to be invoked. c. The application received an unexpected MQI return code. For example:
104
Preliminary checks
v Does your application assume that the queues it accesses are shareable? If a queue has been redefined as exclusive, can your application deal with return codes indicating that it can no longer access that queue? v Have any queue definition or security profiles been changed? An MQOPEN call could fail because of a security violation; can your application recover from the resulting return code? Refer to the information in the WebSphere MQ Application Programming Reference for your programming language for a description of each return code. d. If you have applied any PTF to WebSphere MQ for iSeries, check that you received no error messages when you installed the PTF. Ensure that you have eliminated all the preceding suggestions and proceed to Step 4. 4. Has the server system remained unchanged since the last successful run? No Yes No Proceed to Problem characteristics. Consider all aspects of the system and review the appropriate documentation on how the change might have impacted the WebSphere MQ application. For example : v Interfaces with other applications v Installation of new operating system or hardware v Application of PTFs v Changes in operating procedures
Problem characteristics
Perhaps the preliminary checks have enabled you to find the cause of the problem. If so, you can probably now resolve it, possibly with the help of other books in the WebSphere MQ library, and in the libraries of other licensed programs. If you have not yet found the cause, start to look at the problem in greater detail. Use the following questions as pointers to the problem. Answering the appropriate question, or questions, should lead you to the cause of the problem.
105
Problem characteristics
v Does the problem occur only when syncpoints are used? v Does the problem occur only when one or more queue-manager events are enabled?
Does the problem affect all users of the WebSphere MQ for iSeries application?
If the problem affects only some users, look for differences in how the users configure their systems and queue manager settings. Check the library lists and user profiles. Can the problem be circumvented by having *ALLOBJ authority?
106
Problem characteristics
http://www.ibm.com/software/ts/mqseries/support/summary/400.html, to ensure that you have applied all the relevant PTFs.
107
Problem characteristics
If the system still does not respond, the problem could be with either a queue manager or the whole of the WebSphere MQ system. First try stopping individual queue managers to try and isolate a failing queue manager. If this does not reveal the problem, try stopping and restarting WebSphere MQ, responding to any messages that are produced in the error log. If the problem still occurs after restart, contact your IBM Support Center for help. If you have still not identified the cause of the problem, see Determining problems with WebSphere MQ applications.
108
109
110
111
Diagnostic information
Trace usage
There are two stages in using trace: 1. Decide whether you want early tracing. Early tracing lets you trace the creation and startup of queue managers. Note, however, that early trace can easily generate large amounts of trace, because it is implemented by tracing all jobs for all queue managers. To enable early tracing, use TRCMQM with the TRCEARLY parameter set to *YES. 2. Start tracing WebSphere MQ work using TRCMQM *ON. To stop the trace, you have two options: v TRCMQM *OFF, to stop collecting trace records for a queue manager. The trace records are written to files in the /QIBM/UserData/mqm/trace directory. v TRCMQM *END, to stop collecting trace records for all queue managers and to disable early trace. This option ignores the value of the TRCEARLY parameter. You can also specify the level of detail you want, using the TRCLEVEL parameter set to: *DFT For minimum-detail level for flow processing trace points.
*DETAIL For high-detail level for flow processing trace points. *PARMS For default-detail level for flow processing trace points.
Selective trace
You can reduce the amount of trace data being saved, improving run-time performance, using the command TRCMQM with F4=prompt, then F9 to customize the TRCTYPE and EXCLUDE parameters: TRCTYPE Specifies the type of trace data to store in the trace file. If you omit this parameter, all trace points except those specified in EXCLUDE are enabled. EXCLUDE Specifies the type of trace data to omit from the trace file. If you omit this parameter, all trace points specified in TRCTYPE are enabled. The options available on both TRCTYPE and EXCLUDE are: *ALL (TRCTYPE only) All the trace data as specified by the following keywords is stored in the trace file.
112
Diagnostic information
trace-type-list You can specify more than one option from the following keywords, but each option can appear only once. *API Output data for trace points associated with the MQI and major queue manager components.
*CMTRY Output data for trace points associated with comments in the WebSphere MQ components. *COMMS Output data for trace points associated with data flowing over communications networks. *CSDATA Output data for trace points associated with internal data buffers in common services. *CSFLOW Output data for trace points associated with processing flow in common services. *LQMDATA Output data for trace points associated with internal data buffers in the local queue manager. *LQMFLOW Output data for trace points associated with processing flow in the local queue manager. *OTHDATA Output data for trace points associated with internal data buffers in other components. *OTHFLOW Output data for trace points associated with processing flow in other components. *RMTDATA Output data for trace points associated with internal data buffers in the communications component. *RMTFLOW Output data for trace points associated with processing flow in the communications component. *SVCDATA Output data for trace points associated with internal data buffers in the service component. *SVCFLOW Output data for trace points associated with processing flow in the service component. *VSNDATA Output data for trace points associated with the version of WebSphere MQ running.
Wrapping trace
Use the MAXSTG parameter to wrap trace, and to specify the maximum size of storage to be used for the collected trace records. The options are:
113
Diagnostic information
*DFT Trace wrapping is not enabled. For each job, trace data is written to a file with the suffix .TRC until tracing is stopped.
maximum-K-bytes Trace wrapping is enabled. When the trace file reaches its maximum size, it is renamed with the suffix .TRS, and a new trace file with suffix .TRC is opened. Any existing .TRS file is deleted. Specify a value in the range 1 through 16 000.
where: InputFileName Is a required parameter specifying the name of the file containing the unformatted trace. For example /QIBM/UserData/mqm/trace/AMQ12345.TRC. -t FormatTemplate Specifies the name of the template file containing details of how to display the trace. The default value is /QIBM/ProdData/mqm/lib/amqtrc.fmt. -h Omit header information from the report. -s Extract trace header and put to stdout.
-o output_filename The name of the file into which to write formatted data. You can also specify dspmqtrc * to format all trace.
Error logs
WebSphere MQ uses a number of error logs to capture messages concerning the operation of WebSphere MQ itself, any queue managers that you start, and error data coming from the channels that are in use. The location of the error logs depends on whether the queue manager name is known. In the IFS: v If the queue manager name is known and the queue manager is available, error logs are located in:
/QIBM/UserData/mqm/qmname/errors
v If the queue manager is not available, error logs are located in:
/QIBM/UserData/mqm/&SYSTEM/errors
You can use the system utility EDTF to browse the errors directories and files. For example:
EDTF /QIBM/UsedData/mqm/errors
Alternatively, you can use option 23 against the queue manager from the WRKMQM panel.
114
Error logs
Log files
At installation time, an &SYSTEM errors subdirectory is created in the IFS. The errors subdirectory can contain up to three error log files named: v AMQERR01.LOG v AMQERR02.LOG v AMQERR03.LOG After you have created a queue manager, three error log files are created when they are needed by the queue manager. These files have the same names as the &SYSTEM ones, that is AMQERR01, AMQERR02, and AMQERR03, and each has a capacity of 256 KB. The files are placed in the errors subdirectory of each queue manager that you create, that is /QIBM/UserData/mqm/qmname/errors. As error messages are generated, they are placed in AMQERR01. When AMQERR01 gets bigger than 256 KB, it is copied to AMQERR02. Before the copy, AMQERR02 is copied to AMQERR03.LOG. The previous contents, if any, of AMQERR03 are discarded. The latest error messages are thus always placed in AMQERR01, the other files being used to maintain a history of error messages. All messages relating to channels are also placed in the appropriate queue managers errors files, unless the name of their queue manager is unknown or the queue manager is unavailable. When the queue manager name is unavailable or its name cannot be determined, channel-related messages are placed in the &SYSTEM errors subdirectory. To examine the contents of any error log file, use your system editor, EDTF, to view the stream files in the IFS. Notes: 1. Do not change ownership of these error logs. 2. If any error log file is deleted, it is automatically re-created when the next error message is logged.
Early errors
There are a number of special cases where the error logs have not yet been established and an error occurs. WebSphere MQ attempts to record any such errors in an error log. The location of the log depends on how much of a queue manager has been established. If, because of a corrupt configuration file, for example, no location information can be determined, errors are logged to an errors directory that is created at installation time. If both the WebSphere MQ configuration file and the DefaultPrefix attribute of the AllQueueManagers stanza are readable, errors are logged in the errors subdirectory of the directory identified by the DefaultPrefix attribute.
Operator messages
Operator messages identify normal errors, typically caused directly by users doing things like using parameters that are not valid on a command. Operator messages are national language enabled, with message catalogs installed in standard locations.
Chapter 8. Analyzing problems
115
Error logs
These messages are written to the joblog, if any. In addition, some operator messages are written to the AMQERR01.LOG file in the queue manager directory, and others to the &SYSTEM directory copy of the error log.
116
Dead-letter queues
Dead-letter queues
Messages that cannot be delivered for some reason are placed on the dead-letter queue. You can check whether the queue contains any messages by issuing an MQSC DISPLAY QUEUE command. If the queue contains messages, you can use the provided browse sample application (amqsbcg) to browse messages on the queue using the MQGET call. The sample application steps through all the messages on a named queue for a named queue manager, displaying both the message descriptor and the message context fields for all the messages on the named queue. You must decide how to dispose of any messages found on the dead-letter queue, depending on the reasons for the messages being put on the queue. Problems might occur if you do not associate a dead-letter queue with each queue manager. For more information about dead-letter queues, see Chapter 6, The WebSphere MQ dead-letter queue handler, on page 81.
A copy of the failing jobs job log is written to a file with the same name as the .FDC file. The file name ends with .JOB. Some typical FFST data is shown in Figure 14 on page 118.
117
FFST
------------------------------------------------------------------------------| WebSphere MQ First Failure Symptom Report | | ===================================== | | | | Date/Time :- Friday June 21 18:40:34 2002 | | Host Name :- WINAS12B.HURSLEY.IBM.COM | | PIDS :- 5733A38 | | LVLS :- 520 | | Product Long Name :- WebSphere MQ for iSeries | | Vendor :- IBM | | Probe Id :- XY353001 | | Application Name :- MQM | | Component :- xehAS400ConditionHandler | | Build Date :- May 10 2002 | | UserID :- 00000331 (MAYFCT) | | Program Name :- STRMQM_R MAYFCT | | Job Name :- 020100/MAYFCT/STRMQM_R | | Activation Group :- 101 (QMQM) (QMQM/STRMQM_R) | | Process :- 00001689 | | Thread :- 00000001 | | QueueManager :- TEST.AS400.OE.P | | Major Errorcode :- STOP | | Minor Errorcode :- OK | | Probe Type :- HALT6109 | | Probe Severity :- 1 | | Probe Description :- 0 | | Arith1 :- 1 1 | | Comment1 :00d0 | -----------------------------------------------------------------------------MQM Function Stack lpiSPIMQConnect zstMQConnect ziiMQCONN ziiClearUpAgent xcsTerminate xlsThreadInitialization xcsConnectSharedMem xstConnSetInSPbyHandle xstConnSharedMemSet xcsFFST MQM Trace History <-- xcsCheckProcess rc=xecP_E_INVALID_PID --> xcsCheckProcess <-- xcsCheckProcess rc=xecP_E_INVALID_PID --> xlsThreadInitialization --> xcsConnectSharedMem --> xcsRequestThreadMutexSem <-- xcsRequestThreadMutexSem rc=OK --> xihGetConnSPDetailsFromList <-- xihGetConnSPDetailsFromList rc=OK --> xstCreateConnExtentList <-- xstCreateConnExtentList rc=OK --> xstConnSetInSPbyHandle --> xstSerialiseSPList --> xllSpinLockRequest <-- xllSpinLockRequest rc=OK <-- xstSerialiseSPList rc=OK --> xstGetSetDetailsFromSPByHandle <-- xstGetSetDetailsFromSPByHandle rc=OK --> xstConnSharedMemSet --> xstConnectExtent --> xstAddConnExtentToList <-- xstAddConnExtentToList rc=OK <-- xstConnectExtent rc=OK --> xcsBuildDumpPtr --> xcsGetMem <-- xcsGetMem rc=OK <-- xcsBuildDumpPtr rc=OK --> xcsBuildDumpPtr <-- xcsBuildDumpPtr rc=OK --> xcsBuildDumpPtr <-- xcsBuildDumpPtr rc=OK --> xcsFFST Process Control Block SPP:0000 :1aefSTRMQM_R SPP:0000 :1aefSTRMQM_R SPP:0000 :1aefSTRMQM_R SPP:0000 :1aefSTRMQM_R SPP:0000 :1aefSTRMQM_R Thread Control Block SPP:0000 :1aefSTRMQM_R SPP:0000 :1aefSTRMQM_R SPP:0000 :1aefSTRMQM_R SPP:0000 :1aefSTRMQM_R SPP:0000 :1aefSTRMQM_R MAYFCT MAYFCT MAYFCT MAYFCT MAYFCT MAYFCT MAYFCT MAYFCT MAYFCT MAYFCT 020100 020100 020100 020100 020100 020100 020100 020100 020100 020100 :8bba0:0:6d :8bbb0:1:6d :8bbc0:2:6d :8bbd0:3:6d :8bbe0:4:6d :1db0:20:6d :1dc0:21:6d :1dd0:22:6d :1de0:23:6d :1df0:24:6d E7C9C8D7 00000000 80000000 80000000 00000000 E7C9C8E3 00000001 80000000 00000000 00000000 000004E0 00000002 00000000 00000000 00000000 00001320 00000000 00000000 00000046 00000000 00000699 00000000 EC161F7C EC161F7C 00000000 00000000 00000000 DD13C17B 00000002 00000000 00000000 00000000 FC002DB0 FC002DB0 00000000 00000000 00000000 81001000 00000001 00000000 XIHP...\...r.... ................ ...........@... ...........@... ................ XIHT............ ................ ..........A#a... ................ ................
020100 :2064:128:6d
00000000
....
118
FFST
Notes: 1. The MQM Trace History section is a log of the 200 most recent function trace statements, and is recorded in the FFST report regardless of any TRCMQM settings. 2. The queue manager details are recorded only for jobs that are connected to a queue manager subpool. 3. When the failing component is xehAS400ConditionHandler, additional data is logged in the errors directory giving extracts from the joblog relating to the exception condition. The function stack and trace history are used by IBM to assist in problem determination. In most cases there is little that the system administrator can do when an FFST report is generated, apart from raising problems through the IBM Support Center.
Performance considerations
This section discusses: v General design considerations; see Application design considerations v Specific performance problems; see Specific performance problems on page 120
119
Performance considerations
Frequency of syncpoints
Programs that issue numerous MQPUT calls within syncpoint, without committing them, can cause performance problems. Affected queues can fill up with messages that are currently unusable, while other tasks might be waiting to get these messages. This has implications in terms of storage, and in terms of threads tied up with tasks that are attempting to get messages.
Storage problems
If you receive the system message CPF0907. Serious storage condition may exist it is possible that you are filling up the space associated with the WebSphere MQ for iSeries queue managers.
120
Performance considerations
This could also be caused by a performance problem. Perhaps it is because your system is operating near the limits of its capacity. This type of problem is probably worst at peak system load times, typically at mid-morning and mid-afternoon. (If your network extends across more than one time zone, peak system load might seem to you to occur at some other time.) If you find that performance degradation is not dependent on system loading, but happens sometimes when the system is lightly loaded, a poorly designed application program is probably to blame. This could manifest itself as a problem that only occurs when certain queues are accessed. QTOTJOB and QADLTOTJ are system values worth investigating. The following symptoms might indicate that WebSphere MQ for iSeries is running slowly: v If your system is slow to respond to MQSC commands. v If repeated displays of the queue depth indicate that the queue is being processed slowly for an application with which you would expect a large amount of queue activity. v Is MQ trace running?
121
Performance considerations
122
123
Configuration files
You can edit the default values in the WebSphere MQ configuration files after installation. If you set an incorrect value on a configuration file attribute, the value is ignored and an operator message is issued to indicate the problem. (The effect is the same as missing out the attribute entirely.) When you create a new queue manager: v Back up the WebSphere MQ configuration file v Back up the new queue manager configuration file
124
125
126
127
128
Attention! The AdoptNewMCA attribute can behave in an unpredictable fashion with FASTPATH channels because of the internal design of the queue manager. Exercise great caution when enabling the AdoptNewMCA attribute for FASTPATH channels. AdoptNewMCATimeout=60|13600 The amount of time, in seconds, that the new process waits for the old process to end. Specify a value, in seconds, in the range 1 to 3600. The default value is 60. AdoptNewMCACheck=QM|ADDRESS|NAME|ALL The AdoptNewMCACheck attribute allows you to specify the type checking required when enabling the AdoptNewMCA attribute. It is important for you to perform all three of the following checks, if possible, to protect your channels from being shut down, inadvertently or maliciously. At the very least check that the channel names match.
129
130
API exits
API exits let you write code that changes the behavior of WebSphere MQ API calls, such as MQPUT and MQGET, and then insert that code immediately before or immediately after those calls. The insertion is automatic; the queue manager drives the exit code at the registered points. This chapter explains why you might want to use API exits, then describes what administration tasks are involved in enabling them. The sections are: v Why use API exits on page 132 v How you use API exits on page 132
Chapter 9. Configuring WebSphere MQ
131
132
where call is the API call name without the MQ suffix (PUT, GET, and so on), parameters control the function of the exit, context describes the context in which the API exit was called, and ApiCallParameters represent the parameters to the MQI call,
133
Sample stanzas
Once you have created an exit as a service program, you must refer to it in the appropriate stanza in a configuration file using LIBRARY/PROGRAM syntax, as shown in the examples. The mqs.ini file below contains the following stanzas: ApiExitTemplate This stanza defines an exit with the descriptive name OurPayrollQueueAuditor, module name MYAUDIT, and sequence number 2. A data value of 123 is passed to the exit.
134
The qm.ini file below contains an ApiExitLocal definition of an exit with the descriptive name ClientApplicationAPIchecker, module name MYCHECK, and sequence number 3.
qm.ini ApiExitLocal: Name=ClientApplicationAPIchecker Sequence=3 Function=EntryPoint Module=MYLIB/MYCHECK Data=9.20.176.20
Before editing a configuration file, back it up so that you have a copy you can revert to if the need arises. You can edit configuration files using the EDTF CL command. If you set an incorrect value on a configuration file attribute, the value is ignored and an operator message is issued to indicate the problem. (The effect is the same as missing out the attribute entirely.)
135
Figure 16 on page 137 shows how groups of attributes might be arranged in a queue manager configuration file.
136
Notes: 1. WebSphere MQ on the node uses the default locations for queue managers and the journals. 2. The queue manager saturn.queue.manager is the default queue manager for the node. The directory for files associated with this queue manager has been automatically transformed into a valid file name for the file system. 3. Because the WebSphere MQ configuration file is used to locate the data associated with queue managers, a nonexistent or incorrect configuration file can cause some or all WebSphere MQ commands to fail. Also, applications cannot connect to a queue manager that is not defined in the WebSphere MQ configuration file.
137
138
139
Installable services
Table 13. Authorization service components summary (continued) Supplied component DCE name service component Note: DCE is only supported on versions of WebSphere MQ earlier than V6.0. Function v Allows queue managers to share queues, or v User defined Note: Shared queues must have their Scope attribute set to CELL. Requirements v DCE is required for the supplied component, or v A third-party or user-written name manager
Entry-points
Each service component is represented by a list of the entry-point addresses of the routines that support a particular installable service. The installable service defines the function to be performed by each routine. The ordering of the service components when they are configured defines the order in which entry-points are called in an attempt to satisfy a request for the service. In the supplied header file cmqzc.h, the supplied entry points to each service have an MQZID_ prefix.
Return codes
Service components provide return codes to the queue manager to report on a variety of conditions. They report the success or failure of the operation, and
140
Component data
A single service component might require data to be shared between its various functions. Installable services provide an optional data area to be passed on each invocation of a given service component. This data area is for the exclusive use of the service component. It is shared by all the invocations of a given function, even if they are made from different address spaces or processes. It is guaranteed to be addressable from the service component whenever it is called. You must declare the size of this area in the ServiceComponent stanza.
Initialization
When the component initialization routine is invoked, it must call the queue manager MQZEP function for each entry-point supported by the component. MQZEP defines an entry-point to the service. All the undefined exit points are assumed to be NULL.
Primary initialization
A component is always invoked with this option once, before it is invoked in any other way.
Secondary initialization
A component can be invoked with this option on certain platforms. For example, it can be invoked once for each operating system process, thread, or task by which the service is accessed. If secondary initialization is used: v The component can be invoked more than once for secondary initialization. For each such call, a matching call for secondary termination is issued when the service is no longer needed. For authorization services this is the MQZ_TERM_AUTHORITY call. v The entry points must be re-specified (by calling MQZEP) each time the component is called for primary and secondary initialization. v Only one copy of component data is used for the component; there is not a different copy for each secondary initialization. v The component is not invoked for any other calls to the service (from the operating system process, thread, or task, as appropriate) before secondary initialization has been carried out. v The component must set the Version parameter to the same value for primary and secondary initialization.
Primary termination
The primary termination component is always invoked with this option once, when it is no longer required. No further calls are made to this component.
Secondary termination
The secondary termination component is invoked with this option, if it has been invoked for secondary initialization.
141
Configuring
where: <service_name> The name of the service. This is defined by the service. <entries> The number of entry-points defined for the service. This includes the initialization and termination entry points.
where: <service_name> The name of the service. This must match the Name specified in a service stanza. <component_name> A descriptive name of the service component. This must be unique, and contain only the characters that are valid for the names of WebSphere MQ objects (for example, queue names). This name occurs in operator messages generated by the service. We recommend that you use a name starting with a company trademark or similar distinguishing string.
142
Configuring
<module_name> The name of the module to contain the code for this component. Specify a full path name. <size> The size in bytes of the component data area passed to the component on each call. Specify zero if no component data is required. These two stanzas can appear in any order and the stanza keys under them can also appear in any order. For either of these stanzas, all the stanza keys must be present. If a stanza key is duplicated, the last one is used. At startup time, the queue manager processes each service component entry in the configuration file in turn. It then loads the specified component module, invoking the entry-point of the component (which must be the entry-point for initialization of the component), passing it a configuration handle.
Authorization service
The authorization service is an installable service that enables queue managers to invoke authorization facilities, for example, checking that a user ID has authority to open a queue. This service is a component of the WebSphere MQ security enabling interface (SEI), which is part of the WebSphere MQ framework. This chapter discusses: v Object authority manager (OAM) v Configuring authorization service stanzas on page 144 v Authorization service interface on page 145
143
Authorization service
The OAM works with the entity of a principal or group. When an MQI request is made or a command is issued, the OAM checks the authorization of the entity associated with the operation to see whether it can: v Perform the requested operation. v Access the specified queue manager resources. The authorization service enables you to augment or replace the authority checking provided for queue managers by writing your own authorization service component.
144
Authorization service
The first service component stanza (MQ.UNIX.authorization.service) defines the default authorization service component, the OAM. If you remove this stanza and restart the queue manager, the OAM is disabled and no authorization checks are made.
145
Authorization service
See Creating your own service component on page 143 for more information.
146
MQZEP call
Syntax
MQZEP (Hconfig, Function, EntryPoint, CompCode, Reason)
Parameters
The MQZEP call has the following parameters. Hconfig (MQHCONFIG) input: Configuration handle. This handle represents the component which is being configured for this particular installable service. It must be the same as the one passed to the component configuration function by the queue manager on the component initialization call. Function (MQLONG) input: Function identifier. Valid values for this are defined for each installable service. If MQZEP is called more than once for the same function, the last call made provides the entry point which is used. EntryPoint (PMQFUNC) input: Function entry point. This is the address of the entry point provided by the component to perform the function. The value NULL is valid, and indicates that the function is not provided by this component. NULL is assumed for entry points which are not defined using MQZEP. CompCode (MQLONG) output: Completion code. It is one of the following: MQCC_OK Successful completion. MQCC_FAILED Call failed. Reason (MQLONG) output: Reason code qualifying CompCode. If CompCode is MQCC_OK: MQRC_NONE (0, X000) No reason to report. If CompCode is MQCC_FAILED: MQRC_FUNCTION_ERROR (2281, X8E9) Function identifier not valid. MQRC_HCONFIG_ERROR (2280, X8E8) Configuration handle not valid. For more information on these reason codes, see the WebSphere MQ Application Programming Reference.
Chapter 10. Installable services and components
147
MQZEP call
C invocation
MQZEP (Hconfig, Function, EntryPoint, &CompCode, &Reason);
C declaration
typedef void MQPOINTER MQHCONFIG;
C declaration
typedef void MQPOINTER PMQFUNC;
148
MQZ_AUTHENTICATE_USER
Syntax
MQZ_AUTHENTICATE_USER (QMgrName, SecurityParms, ApplicationContext, IdentityContext, CorrelationPtr, ComponentData, Continuation, CompCode, Reason)
Parameters
The MQZ_AUTHENTICATE_USER call has the following parameters. QMgrName (MQCHAR48) input: Queue manager name. The name of the queue manager calling the component. This name is padded with blanks to the full length of the parameter; the name is not terminated by a null character. The queue-manager name is passed to the component for information; the authorization service interface does not require the component to make use of it in any defined manner. SecurityParms (MQCSP) input: Security parameters. Data relating to the user ID, password, and authentication type. If the AuthenticationType attribute of the MQCSP structure is specified as MQCSP_AUTH_USER_ID_AND_PWD, both the user ID and password are compared against the equivalent fields in the IdentityContext (MQZIC) parameter to determine whether they match. For more information, see the WebSphere MQ Application Programming Reference. During an MQCONN MQI call this parameter contains null, or default values. ApplicationContext (MQZAC) input: Application context. Data relating to the calling application. See MQZAC Application context on page 185 for details. During every MQCONN or MQCONNX MQI call, the user context information in the MQZAC structure is reacquired. IdentityContext (MQZIC) input/output: Identity context. On input to the authenticate user function, this identifies the current identity context. The authenticate user function can change this, at which point the queue manager adopts the new identity context. See MQZIC Identity context on page 196 for more details on the MQZIC structure.
Chapter 10. Installable services and components
149
MQZ_AUTHENTICATE_USER
CorrelationPtr (MQPTR) output: Correlation pointer. Specifies the address of any correlation data. This pointer is subsequently passed on to other OAM calls. ComponentData (MQBYTEComponentDataLength) input/output: Component data. This data is kept by the queue manager on behalf of this particular component; any changes made to it by any of the functions provided by this component are preserved, and presented the next time one of this components functions is called. The length of this data area is passed by the queue manager in the ComponentDataLength parameter of the MQZ_INIT_AUTHORITY call. Continuation (MQLONG) output: Continuation flag. The following values can be specified: MQZCI_DEFAULT Continuation dependent on other components. MQZCI_STOP Do not continue with next component. CompCode (MQLONG) output: Completion code. It is one of the following: MQCC_OK Successful completion. MQCC_FAILED Call failed. Reason (MQLONG) output: Reason code qualifying CompCode. If CompCode is MQCC_OK: MQRC_NONE (0, X000) No reason to report. If CompCode is MQCC_FAILED: MQRC_SERVICE_ERROR (2289, X8F1) Unexpected error occurred accessing service.
C invocation
MQZ_AUTHENTICATE_USER (QMgrName, SecurityParms, ApplicationContext, IdentityContext, &CorrelationPtr, ComponentData, &Continuation, &CompCode, &Reason);
150
MQZ_CHECK_AUTHORITY
Syntax
MQZ_CHECK_AUTHORITY (QMgrName, EntityName, EntityType, ObjectName, ObjectType, Authority, ComponentData, Continuation, CompCode, Reason)
Parameters
The MQZ_CHECK_AUTHORITY call has the following parameters. QMgrName (MQCHAR48) input: Queue manager name. The name of the queue manager calling the component. This name is padded with blanks to the full length of the parameter; the name is not terminated by a null character. The queue-manager name is passed to the component for information; the authorization service interface does not require the component to make use of it in any defined manner. EntityName (MQCHAR12) input: Entity name. The name of the entity whose authorization to the object is to be checked. The maximum length of the string is 12 characters; if it is shorter than that it is padded to the right with blanks. The name is not terminated by a null character. It is not essential for this entity to be known to the underlying security service. If it is not known, the authorizations of the special nobody group (to which all entities are assumed to belong) are used for the check. An all-blank name is valid and can be used in this way. EntityType (MQLONG) input: Entity type. The type of entity specified by EntityName. It is one of the following: MQZAET_PRINCIPAL Principal. MQZAET_GROUP Group. ObjectName (MQCHAR48) input: Object name. The name of the object to which access is required. The maximum length of the string is 48 characters; if it is shorter than that it is padded to the right with blanks. The name is not terminated by a null character. If ObjectType is MQOT_Q_MGR, this name is the same as QMgrName. ObjectType (MQLONG) input: Object type.
151
MQZ_CHECK_AUTHORITY
The type of entity specified by ObjectName. It is one of the following: MQOT_AUTH_INFO Authentication information. MQOT_CHANNEL Channel. MQOT_CLNTCONN_CHANNEL Client connection channel. MQOT_LISTENER Listener. MQOT_NAMELIST Namelist. MQOT_PROCESS Process definition. MQOT_Q Queue. MQOT_Q_MGR Queue manager. MQOT_SERVICE Service. Authority (MQLONG) input: Authority to be checked. If one authorization is being checked, this field is equal to the appropriate authorization operation (MQZAO_* constant). If more than one authorization is being checked, it is the bitwise OR of the corresponding MQZAO_* constants. The following authorizations apply to use of the MQI calls: MQZAO_CONNECT Ability to use the MQCONN call. MQZAO_BROWSE Ability to use the MQGET call with a browse option. This allows the MQGMO_BROWSE_FIRST, MQGMO_BROWSE_MSG_UNDER_CURSOR, or MQGMO_BROWSE_NEXT option to be specified on the MQGET call. MQZAO_INPUT Ability to use the MQGET call with an input option. This allows the MQOO_INPUT_SHARED, MQOO_INPUT_EXCLUSIVE, or MQOO_INPUT_AS_Q_DEF option to be specified on the MQOPEN call. MQZAO_OUTPUT Ability to use the MQPUT call. This allows the MQOO_OUTPUT option to be specified on the MQOPEN call. MQZAO_INQUIRE Ability to use the MQINQ call. This allows the MQOO_INQUIRE option to be specified on the MQOPEN call. MQZAO_SET Ability to use the MQSET call. This allows the MQOO_SET option to be specified on the MQOPEN call. MQZAO_PASS_IDENTITY_CONTEXT Ability to pass identity context.
152
MQZ_CHECK_AUTHORITY
This allows the MQOO_PASS_IDENTITY_CONTEXT option to be specified on the MQOPEN call, and the MQPMO_PASS_IDENTITY_CONTEXT option to be specified on the MQPUT and MQPUT1 calls. MQZAO_PASS_ALL_CONTEXT Ability to pass all context. This allows the MQOO_PASS_ALL_CONTEXT option to be specified on the MQOPEN call, and the MQPMO_PASS_ALL_CONTEXT option to be specified on the MQPUT and MQPUT1 calls. MQZAO_SET_IDENTITY_CONTEXT Ability to set identity context. This allows the MQOO_SET_IDENTITY_CONTEXT option to be specified on the MQOPEN call, and the MQPMO_SET_IDENTITY_CONTEXT option to be specified on the MQPUT and MQPUT1 calls. MQZAO_SET_ALL_CONTEXT Ability to set all context. This allows the MQOO_SET_ALL_CONTEXT option to be specified on the MQOPEN call, and the MQPMO_SET_ALL_CONTEXT option to be specified on the MQPUT and MQPUT1 calls. MQZAO_ALTERNATE_USER_AUTHORITY Ability to use alternate user authority. This allows the MQOO_ALTERNATE_USER_AUTHORITY option to be specified on the MQOPEN call, and the MQPMO_ALTERNATE_USER_AUTHORITY option to be specified on the MQPUT1 call. MQZAO_ALL_MQI All of the MQI authorizations. This enables all of the authorizations described above. The following authorizations apply to administration of a queue manager: MQZAO_CREATE Ability to create objects of a specified type. MQZAO_DELETE Ability to delete a specified object. MQZAO_DISPLAY Ability to display the attributes of a specified object. MQZAO_CHANGE Ability to change the attributes of a specified object. MQZAO_CLEAR Ability to delete all messages from a specified queue. MQZAO_AUTHORIZE Ability to authorize other users for a specified object. MQZAO_CONTROL Ability to start, stop, or ping a non-client channel object. MQZAO_CONTROL_EXTENDED Ability to reset a sequence number, or resolve an indoubt message on a non-client channel object. MQZAO_ALL_ADMIN All of the administration authorizations, other than MQZAO_CREATE. The following authorizations apply to both use of the MQI and to administration of a queue manager: MQZAO_ALL All authorizations, other than MQZAO_CREATE.
Chapter 10. Installable services and components
153
MQZ_CHECK_AUTHORITY
MQZAO_NONE No authorizations. ComponentData (MQBYTEComponentDataLength) input/output: Component data. This data is kept by the queue manager on behalf of this particular component; any changes made to it by any of the functions provided by this component are preserved, and presented the next time one of this components functions is called. The length of this data area is passed by the queue manager in the ComponentDataLength parameter of the MQZ_INIT_AUTHORITY call. Continuation (MQLONG) output: Continuation indicator set by component. The following values can be specified: MQZCI_DEFAULT Continuation dependent on queue manager. For MQZ_CHECK_AUTHORITY this has the same effect as MQZCI_STOP. MQZCI_CONTINUE Continue with next component. MQZCI_STOP Do not continue with next component. CompCode (MQLONG) output: Completion code. It is one of the following: MQCC_OK Successful completion. MQCC_FAILED Call failed. Reason (MQLONG) output: Reason code qualifying CompCode. If CompCode is MQCC_OK: MQRC_NONE (0, X000) No reason to report. If CompCode is MQCC_FAILED: MQRC_NOT_AUTHORIZED (2035, X7F3) Not authorized for access. MQRC_SERVICE_ERROR (2289, X8F1) Unexpected error occurred accessing service. MQRC_SERVICE_NOT_AVAILABLE (2285, X8ED) Underlying service not available. For more information on these reason codes, see the WebSphere MQ Application Programming Reference.
C invocation
MQZ_CHECK_AUTHORITY (QMgrName, EntityName, EntityType, ObjectName, ObjectType, Authority, ComponentData, &Continuation, &CompCode, &Reason);
154
MQZ_CHECK_AUTHORITY
MQCHAR48 MQCHAR12 MQLONG MQCHAR48 MQLONG MQLONG MQBYTE MQLONG MQLONG MQLONG QMgrName; EntityName; EntityType; ObjectName; ObjectType; Authority; ComponentData[n]; Continuation; CompCode; Reason; /* /* /* /* /* /* /* /* Queue manager name */ Entity name */ Entity type */ Object name */ Object type */ Authority to be checked */ Component data */ Continuation indicator set by component */ /* Completion code */ /* Reason code qualifying CompCode */
155
MQZ_COPY_ALL_AUTHORITY
Syntax
MQZ_COPY_ALL_AUTHORITY (QMgrName, RefObjectName, ObjectName, ObjectType, ComponentData, Continuation, CompCode, Reason)
Parameters
The MQZ_COPY_ALL_AUTHORITY call has the following parameters. QMgrName (MQCHAR48) input: Queue manager name. The name of the queue manager calling the component. This name is padded with blanks to the full length of the parameter; the name is not terminated by a null character. The queue-manager name is passed to the component for information; the authorization service interface does not require the component to make use of it in any defined manner. RefObjectName (MQCHAR48) input: Reference object name. The name of the reference object, the authorizations for which are to be copied. The maximum length of the string is 48 characters; if it is shorter than that it is padded to the right with blanks. The name is not terminated by a null character. ObjectName (MQCHAR48) input: Object name. The name of the object for which accesses are to be set. The maximum length of the string is 48 characters; if it is shorter than that it is padded to the right with blanks. The name is not terminated by a null character. ObjectType (MQLONG) input: Object type. The type of object specified by RefObjectName and ObjectName. It is one of the following: MQOT_AUTH_INFO Authentication information. MQOT_CHANNEL Channel. MQOT_CLNTCONN_CHANNEL Client connection channel. MQOT_LISTENER Listener. MQOT_NAMELIST Namelist. MQOT_PROCESS Process definition. MQOT_Q Queue.
156
MQZ_COPY_ALL_AUTHORITY
MQOT_Q_MGR Queue manager. MQOT_SERVICE Service. ComponentData (MQBYTEComponentDataLength) input/output: Component data. This data is kept by the queue manager on behalf of this particular component; any changes made to it by any of the functions provided by this component are preserved, and presented the next time one of this components functions is called. The length of this data area is passed by the queue manager in the ComponentDataLength parameter of the MQZ_INIT_AUTHORITY call. Continuation (MQLONG) output: Continuation indicator set by component. The following values can be specified: MQZCI_DEFAULT Continuation dependent on queue manager. For MQZ_COPY_ALL_AUTHORITY this has the same effect as MQZCI_STOP. MQZCI_CONTINUE Continue with next component. MQZCI_STOP Do not continue with next component. CompCode (MQLONG) output: Completion code. It is one of the following: MQCC_OK Successful completion. MQCC_FAILED Call failed. Reason (MQLONG) output: Reason code qualifying CompCode. If CompCode is MQCC_OK: MQRC_NONE (0, X000) No reason to report. If CompCode is MQCC_FAILED: MQRC_SERVICE_ERROR (2289, X8F1) Unexpected error occurred accessing service. MQRC_SERVICE_NOT_AVAILABLE (2285, X8ED) Underlying service not available. MQRC_UNKNOWN_REF_OBJECT (2294, X8F6) Reference object unknown. For more information on these reason codes, see the WebSphere MQ Application Programming Reference.
C invocation
MQZ_COPY_ALL_AUTHORITY (QMgrName, RefObjectName, ObjectName, ObjectType, ComponentData, &Continuation, &CompCode, &Reason);
Chapter 10. Installable services and components
157
MQZ_COPY_ALL_AUTHORITY
The parameters passed to the service are declared as follows:
MQCHAR48 MQCHAR48 MQCHAR48 MQLONG MQBYTE MQLONG MQLONG MQLONG QMgrName; RefObjectName; ObjectName; ObjectType; ComponentData[n]; Continuation; CompCode; Reason; /* /* /* /* /* /* Queue manager name */ Reference object name */ Object name */ Object type */ Component data */ Continuation indicator set by component */ /* Completion code */ /* Reason code qualifying CompCode */
158
MQZ_DELETE_AUTHORITY
Syntax
MQZ_DELETE_AUTHORITY (QMgrName, ObjectName, ObjectType, ComponentData, Continuation, CompCode, Reason)
Parameters
The MQZ_DELETE_AUTHORITY call has the following parameters. QMgrName (MQCHAR48) input: Queue manager name. The name of the queue manager calling the component. This name is padded with blanks to the full length of the parameter; the name is not terminated by a null character. The queue-manager name is passed to the component for information; the authorization service interface does not require the component to make use of it in any defined manner. ObjectName (MQCHAR48) input: Object name. The name of the object for which accesses are to be deleted. The maximum length of the string is 48 characters; if it is shorter than that it is padded to the right with blanks. The name is not terminated by a null character. If ObjectType is MQOT_Q_MGR, this name is the same as QMgrName. ObjectType (MQLONG) input: Object type. The type of entity specified by ObjectName. It is one of the following: MQOT_AUTH_INFO Authentication information. MQOT_CHANNEL Channel. MQOT_CLNTCONN_CHANNEL Client connection channel. MQOT_LISTENER Listener. MQOT_NAMELIST Namelist. MQOT_PROCESS Process definition. MQOT_Q Queue. MQOT_Q_MGR Queue manager. MQOT_SERVICE Service.
159
MQZ_DELETE_AUTHORITY
ComponentData (MQBYTEComponentDataLength) input/output: Component data. This data is kept by the queue manager on behalf of this particular component; any changes made to it by any of the functions provided by this component are preserved, and presented the next time one of this components functions is called. The length of this data area is passed by the queue manager in the ComponentDataLength parameter of the MQZ_INIT_AUTHORITY call. Continuation (MQLONG) output: Continuation indicator set by component. The following values can be specified: MQZCI_DEFAULT Continuation dependent on queue manager. For MQZ_DELETE_AUTHORITY this has the same effect as MQZCI_STOP. MQZCI_CONTINUE Continue with next component. MQZCI_STOP Do not continue with next component. CompCode (MQLONG) output: Completion code. It is one of the following: MQCC_OK Successful completion. MQCC_FAILED Call failed. Reason (MQLONG) output: Reason code qualifying CompCode. If CompCode is MQCC_OK: MQRC_NONE (0, X000) No reason to report. If CompCode is MQCC_FAILED: MQRC_SERVICE_ERROR (2289, X8F1) Unexpected error occurred accessing service. MQRC_SERVICE_NOT_AVAILABLE (2285, X8ED) Underlying service not available. For more information on these reason codes, see the WebSphere MQ Application Programming Reference.
C invocation
MQZ_DELETE_AUTHORITY (QMgrName, ObjectName, ObjectType, ComponentData, &Continuation, &CompCode, &Reason);
160
MQZ_ENUMERATE_AUTHORITY_DATA
Syntax
MQZ_ENUMERATE_AUTHORITY_DATA (QMgrName, StartEnumeration, Filter, AuthorityBufferLength, AuthorityBuffer, AuthorityDataLength, ComponentData, Continuation, CompCode, Reason)
Parameters
The MQZ_ENUMERATE_AUTHORITY_DATA call has the following parameters. QMgrName (MQCHAR48) input: Queue manager name. The name of the queue manager calling the component. This name is padded with blanks to the full length of the parameter; the name is not terminated by a null character. The queue-manager name is passed to the component for information; the authorization service interface does not require the component to make use of it in any defined manner. StartEnumeration (MQLONG) input: Flag indicating whether call should start enumeration. This indicates whether the call should start the enumeration of authority data, or continue the enumeration of authority data started by a previous call to MQZ_ENUMERATE_AUTHORITY_DATA. The value is one of the following: MQZSE_START Start enumeration. The call is invoked with this value to start the enumeration of authority data. The Filter parameter specifies the selection criteria to be used to select the authority data returned by this and successive calls. MQZSE_CONTINUE Continue enumeration. The call is invoked with this value to continue the enumeration of authority data. The Filter parameter is ignored in this case, and can be specified as the null pointer (the selection criteria are determined by the Filter parameter specified by the call that had StartEnumeration set to MQZSE_START). Filter (MQZAD) input: Filter. If StartEnumeration is MQZSE_START, Filter specifies the selection criteria to be used to select the authority data to return. If Filter is the null pointer, no selection criteria are used, that is, all authority data is returned. See MQZAD Authority data on page 188 for details of the selection criteria that can be used.
161
MQZ_ENUMERATE_AUTHORITY_DATA
If StartEnumeration is MQZSE_CONTINUE, Filter is ignored, and can be specified as the null pointer. AuthorityBufferLength (MQLONG) input: Length of AuthorityBuffer. This is the length in bytes of the AuthorityBuffer parameter. The authority buffer must be big enough to accommodate the data to be returned. AuthorityBuffer (MQZAD) output: Authority data. This is the buffer in which the authority data is returned. The buffer must be big enough to accommodate an MQZAD structure, an MQZED structure, plus the longest entity name and longest domain name defined. Note: This parameter is defined as an MQZAD, as the MQZAD always occurs at the start of the buffer. However, if the buffer is actually declared as an MQZAD, the buffer will be too small it needs to be bigger than an MQZAD so that it can accommodate the MQZAD, MQZED, plus entity and domain names. AuthorityDataLength (MQLONG) output: Length of data returned in AuthorityBuffer. This is the length of the data returned in AuthorityBuffer. If the authority buffer is too small, AuthorityDataLength is set to the length of the buffer required, and the call returns completion code MQCC_FAILED and reason code MQRC_BUFFER_LENGTH_ERROR. ComponentData (MQBYTEComponentDataLength) input/output: Component data. This data is kept by the queue manager on behalf of this particular component; any changes made to it by any of the functions provided by this component are preserved, and presented the next time one of this components functions is called. The length of this data area is passed by the queue manager in the ComponentDataLength parameter of the MQZ_INIT_AUTHORITY call. Continuation (MQLONG) output: Continuation indicator set by component. The following values can be specified: MQZCI_DEFAULT Continuation dependent on queue manager. For MQZ_ENUMERATE_AUTHORITY_DATA this has the same effect as MQZCI_CONTINUE. MQZCI_CONTINUE Continue with next component. MQZCI_STOP Do not continue with next component. CompCode (MQLONG) output: Completion code. It is one of the following: MQCC_OK Successful completion.
162
MQZ_ENUMERATE_AUTHORITY_DATA
MQCC_FAILED Call failed. Reason (MQLONG) output: Reason code qualifying CompCode. If CompCode is MQCC_OK: MQRC_NONE (0, X000) No reason to report. If CompCode is MQCC_FAILED: MQRC_BUFFER_LENGTH_ERROR (2005, X7D5) Buffer length parameter not valid. MQRC_NO_DATA_AVAILABLE (2379, X94B) No data available. MQRC_SERVICE_ERROR (2289, X8F1) Unexpected error occurred accessing service. For more information on these reason codes, see the WebSphere MQ Application Programming Reference.
C invocation
MQZ_ENUMERATE_AUTHORITY_DATA (QMgrName, StartEnumeration, &Filter, AuthorityBufferLength, &AuthorityBuffer, &AuthorityDataLength, ComponentData, &Continuation, &CompCode, &Reason);
163
MQZ_FREE_USER
Syntax
MQZ_FREE_USER (QMgrName, FreeParms, ComponentData, Continuation, CompCode, Reason)
Parameters
The MQZ_FREE_USER call has the following parameters. QMgrName (MQCHAR48) input: Queue manager name. The name of the queue manager calling the component. This name is padded with blanks to the full length of the parameter; the name is not terminated by a null character. The queue-manager name is passed to the component for information; the authorization service interface does not require the component to make use of it in any defined manner. FreeParms (MQZFP) input: Free parameters. A structure containing data relating to the resource to be freed. See MQZFP Free parameters on page 194 for details. ComponentData (MQBYTEComponentDataLength) input/output: Component data. This data is kept by the queue manager on behalf of this particular component; any changes made to it by any of the functions provided by this component are preserved, and presented the next time one of this components functions is called. Continuation (MQLONG) output: Continuation flag. The following values can be specified: MQZCI_DEFAULT Continuation dependent on other components. MQZCI_STOP Do not continue with next component. CompCode (MQLONG) output: Completion code. It is one of the following: MQCC_OK Successful completion. MQCC_FAILED Call failed. Reason (MQLONG) output: Reason code qualifying CompCode.
164
MQZ_FREE_USER
If CompCode is MQCC_OK: MQRC_NONE (0, X000) No reason to report. If CompCode is MQCC_FAILED: MQRC_SERVICE_ERROR (2289, X8F1) Unexpected error occurred accessing service.
C invocation
MQZ_AUTHENTICATE_USER (QMgrName, SecurityParms, ApplicationContext, IdentityContext, CorrelationPtr, ComponentData, &Continuation, &CompCode, &Reason);
165
MQZ_GET_AUTHORITY
Syntax
MQZ_GET_AUTHORITY (QMgrName, EntityName, EntityType, ObjectName, ObjectType, Authority, ComponentData, Continuation, CompCode, Reason)
Parameters
The MQZ_GET_AUTHORITY call has the following parameters. QMgrName (MQCHAR48) input: Queue manager name. The name of the queue manager calling the component. This name is padded with blanks to the full length of the parameter; the name is not terminated by a null character. The queue-manager name is passed to the component for information; the authorization service interface does not require the component to make use of it in any defined manner. EntityName (MQCHAR12) input: Entity name. The name of the entity whose access to the object is to be retrieved. The maximum length of the string is 12 characters; if it is shorter than that it is padded to the right with blanks. The name is not terminated by a null character. EntityType (MQLONG) input: Entity type. The type of entity specified by EntityName. The following value can be specified: MQZAET_PRINCIPAL Principal. MQZAET_GROUP Group. ObjectName (MQCHAR48) input: Object name. The name of the object for which the entitys authority is to be retrieved. The maximum length of the string is 48 characters; if it is shorter than that it is padded to the right with blanks. The name is not terminated by a null character. If ObjectType is MQOT_Q_MGR, this name is the same as QMgrName. ObjectType (MQLONG) input: Object type. The type of entity specified by ObjectName. It is one of the following: MQOT_AUTH_INFO Authentication information. MQOT_CHANNEL Channel.
166
MQZ_GET_AUTHORITY
MQOT_CLNTCONN_CHANNEL Client connection channel. MQOT_LISTENER Listener. MQOT_NAMELIST Namelist. MQOT_PROCESS Process definition. MQOT_Q Queue. MQOT_Q_MGR Queue manager. MQOT_SERVICE Service. Authority (MQLONG) output: Authority of entity. If the entity has one authority, this field is equal to the appropriate authorization operation (MQZAO_* constant). If it has more than one authority, this field is the bitwise OR of the corresponding MQZAO_* constants. ComponentData (MQBYTEComponentDataLength) input/output: Component data. This data is kept by the queue manager on behalf of this particular component; any changes made to it by any of the functions provided by this component are preserved, and presented the next time one of this components functions is called. The length of this data area is passed by the queue manager in the ComponentDataLength parameter of the MQZ_INIT_AUTHORITY call. Continuation (MQLONG) output: Continuation indicator set by component. The following values can be specified: MQZCI_DEFAULT Continuation dependent on queue manager. For MQZ_GET_AUTHORITY this has the same effect as MQZCI_CONTINUE. MQZCI_CONTINUE Continue with next component. MQZCI_STOP Do not continue with next component. CompCode (MQLONG) output: Completion code. It is one of the following: MQCC_OK Successful completion. MQCC_FAILED Call failed. Reason (MQLONG) output: Reason code qualifying CompCode. If CompCode is MQCC_OK: MQRC_NONE (0, X000) No reason to report.
Chapter 10. Installable services and components
167
MQZ_GET_AUTHORITY
If CompCode is MQCC_FAILED: MQRC_NOT_AUTHORIZED (2035, X7F3) Not authorized for access. MQRC_SERVICE_ERROR (2289, X8F1) Unexpected error occurred accessing service. MQRC_SERVICE_NOT_AVAILABLE (2285, X8ED) Underlying service not available. MQRC_UNKNOWN_ENTITY (2292, X8F4) Entity unknown to service. For more information on these reason codes, see the WebSphere MQ Application Programming Reference.
C invocation
MQZ_GET_AUTHORITY (QMgrName, EntityName, EntityType, ObjectName, ObjectType, &Authority, ComponentData, &Continuation, &CompCode, &Reason);
168
MQZ_GET_EXPLICIT_AUTHORITY
Syntax
MQZ_GET_EXPLICIT_AUTHORITY (QMgrName, EntityName, EntityType, ObjectName, ObjectType, Authority, ComponentData, Continuation, CompCode, Reason)
Parameters
The MQZ_GET_EXPLICIT_AUTHORITY call has the following parameters. QMgrName (MQCHAR48) input: Queue manager name. The name of the queue manager calling the component. This name is padded with blanks to the full length of the parameter; the name is not terminated by a null character. The queue-manager name is passed to the component for information; the authorization service interface does not require the component to make use of it in any defined manner. EntityName (MQCHAR12) input: Entity name. The name of the entity whose access to the object is to be retrieved. The maximum length of the string is 12 characters; if it is shorter than that it is padded to the right with blanks. The name is not terminated by a null character. EntityType (MQLONG) input: Entity type. The type of entity specified by EntityName. The following value can be specified: MQZAET_PRINCIPAL Principal. MQZAET_GROUP Group. ObjectName (MQCHAR48) input: Object name. The name of the object for which the entitys authority is to be retrieved. The maximum length of the string is 48 characters; if it is shorter than that it is padded to the right with blanks. The name is not terminated by a null character. If ObjectType is MQOT_Q_MGR, this name is the same as QMgrName. ObjectType (MQLONG) input: Object type. The type of entity specified by ObjectName. It is one of the following: MQOT_AUTH_INFO Authentication information.
Chapter 10. Installable services and components
169
MQZ_GET_EXPLICIT_AUTHORITY
MQOT_CHANNEL Channel. MQOT_CLNTCONN_CHANNEL Client connection channel. MQOT_LISTENER Listener. MQOT_NAMELIST Namelist. MQOT_PROCESS Process definition. MQOT_Q Queue. MQOT_Q_MGR Queue manager. MQOT_SERVICE Service. Authority (MQLONG) output: Authority of entity. If the entity has one authority, this field is equal to the appropriate authorization operation (MQZAO_* constant). If it has more than one authority, this field is the bitwise OR of the corresponding MQZAO_* constants. ComponentData (MQBYTEComponentDataLength) input/output: Component data. This data is kept by the queue manager on behalf of this particular component; any changes made to it by any of the functions provided by this component are preserved, and presented the next time one of this components functions is called. The length of this data area is passed by the queue manager in the ComponentDataLength parameter of the MQZ_INIT_AUTHORITY call. Continuation (MQLONG) output: Continuation indicator set by component. The following values can be specified: MQZCI_DEFAULT Continuation dependent on queue manager. For MQZ_GET_EXPLICIT_AUTHORITY this has the same effect as MQZCI_CONTINUE. MQZCI_CONTINUE Continue with next component. MQZCI_STOP Do not continue with next component. CompCode (MQLONG) output: Completion code. It is one of the following: MQCC_OK Successful completion. MQCC_FAILED Call failed. Reason (MQLONG) output: Reason code qualifying CompCode. If CompCode is MQCC_OK:
170
MQZ_GET_EXPLICIT_AUTHORITY
MQRC_NONE (0, X000) No reason to report. If CompCode is MQCC_FAILED: MQRC_NOT_AUTHORIZED (2035, X7F3) Not authorized for access. MQRC_SERVICE_ERROR (2289, X8F1) Unexpected error occurred accessing service. MQRC_SERVICE_NOT_AVAILABLE (2285, X8ED) Underlying service not available. MQRC_UNKNOWN_ENTITY (2292, X8F4) Entity unknown to service. For more information on these reason codes, see the WebSphere MQ Application Programming Reference.
C invocation
MQZ_GET_EXPLICIT_AUTHORITY (QMgrName, EntityName, EntityType, ObjectName, ObjectType, &Authority, ComponentData, &Continuation, &CompCode, &Reason);
171
MQZ_INIT_AUTHORITY
Syntax
MQZ_INIT_AUTHORITY (Hconfig, Options, QMgrName, ComponentDataLength, ComponentData, Version, CompCode, Reason)
Parameters
The MQZ_INIT_AUTHORITY call has the following parameters. Hconfig (MQHCONFIG) input: Configuration handle. This handle represents the particular component being initialized. It is to be used by the component when calling the queue manager with the MQZEP function. Options (MQLONG) input: Initialization options. It is one of the following: MQZIO_PRIMARY Primary initialization. MQZIO_SECONDARY Secondary initialization. QMgrName (MQCHAR48) input: Queue manager name. The name of the queue manager calling the component. This name is padded with blanks to the full length of the parameter; the name is not terminated by a null character. The queue-manager name is passed to the component for information; the authorization service interface does not require the component to make use of it in any defined manner. ComponentDataLength (MQLONG) input: Length of component data. Length in bytes of the ComponentData area. This length is defined in the component configuration data. ComponentData (MQBYTEComponentDataLength) input/output: Component data. This is initialized to all zeroes before calling the components primary initialization function. This data is kept by the queue manager on behalf of this particular component; any changes made to it by any of the functions (including the initialization function) provided by this component are preserved, and presented the next time one of this components functions is called. Version (MQLONG) input/output: Version number.
172
MQZ_INIT_AUTHORITY
On input to the initialization function, this identifies the highest version number that the queue manager supports. The initialization function must change this, if necessary, to the version of the interface which it supports. If on return the queue manager does not support the version returned by the component, it calls the components MQZ_TERM_AUTHORITY function and makes no further use of this component. The following values are supported: MQZAS_VERSION_1 Version 1. MQZAS_VERSION_2 Version 2. MQZAS_VERSION_3 Version 3. MQZAS_VERSION_4 Version 4. MQZAS_VERSION_5 Version 5. CompCode (MQLONG) output: Completion code. It is one of the following: MQCC_OK Successful completion. MQCC_FAILED Call failed. Reason (MQLONG) output: Reason code qualifying CompCode. If CompCode is MQCC_OK: MQRC_NONE (0, X000) No reason to report. If CompCode is MQCC_FAILED: MQRC_INITIALIZATION_FAILED (2286, X8EE) Initialization failed for an undefined reason. MQRC_SERVICE_NOT_AVAILABLE (2285, X8ED) Underlying service not available. For more information on these reason codes, see the WebSphere MQ Application Programming Reference.
C invocation
MQZ_INIT_AUTHORITY (Hconfig, Options, QMgrName, ComponentDataLength, ComponentData, &Version, &CompCode, &Reason);
173
MQZ_INQUIRE
Syntax
MQZ_INQUIRE (QMgrName, SelectorCount, Selectors, IntAttrCount, IntAttrs, CharAttrLength, CharAttrs, SelectorReturned, ComponentData, Continuation, CompCode, Reason)
Parameters
The MQZ_INQUIRE call has the following parameters. QMgrName (MQCHAR48) input: Queue manager name. The name of the queue manager calling the component. This name is padded with blanks to the full length of the parameter; the name is not terminated by a null character. The queue-manager name is passed to the component for information; the authorization service interface does not require the component to make use of it in any defined manner. SelectorCount (MQLONG) input: Number of selectors. The number of selectors supplied in the Selectors parameter. The value must be between zero and 256. Selectors (MQLONGSelectorCount) input: Selectors. Array of selectors. Each selector identifies a required attribute and must be of one of the following types: v MQIACF_* (integer) v MQCACF_* (character) Selectors can be specified in any order. The number of selectors in the array is indicated by the SelectorCount parameter. Integer attributes identified by selectors are returned in the IntAttrs parameter in the same order as they appear in Selectors. Character attributes identified by selectors are returned in the CharAttrs parameter in the same order as they in appear Selectors. IntAttrCount (MQLONG) input: Number of integer attributes. The number of integer attributes supplied in the IntAttrs parameter. The value must be between zero and 256. IntAttrs (MQLONGIntAttrCount) output: Integer attributes.
174
MQZ_INQUIRE
Array of integer attributes. The integer attributes are returned in the same order as the corresponding integer selectors in the Selectors array. CharAttrCount (MQLONG) input: Length of the character attributes buffer. The length in bytes of the CharAttrs parameter. The value must at least sum of the lengths of the requested character attributes. If no character attributes are requested, zero is a valid value. CharAttrs (MQLONGCharAttrCount) output: Character attributes buffer. Buffer containing character attributes, concatenated together. The character attributes are returned in the same order as the corresponding character selectors in the Selectors array. The length of the buffer is given by the CharAttrCount parameter. SelectorReturned (MQLONGSelectorCount) input: Selector returned. Array of values identifying which attributes have been returned from the set requested for by the selectors in the Selectors parameter. The number of values in this array is indicated by the SelectorCount parameter. Each value in the array relates to the selector from the corresponding position in the Selectors array. Each value is one of the following: MQZSL_RETURNED The attribute requested by the corresponding selector in the Selectors parameter has been returned. MQZSL_NOT_RETURNED The attribute requested by the corresponding selector in the Selectors parameter has not been returned. The array is initialized with all values as MQZSL_NOT_RETURNED. When an authorization service component returns an attribute, it sets the appropriate value in the array to MQZSL_RETURNED. This allows any other authorization service components, to which the inquire call is made, to identify which attributes have already been returned. ComponentData (MQBYTEComponentDataLength) input/output: Component data. This data is kept by the queue manager on behalf of this particular component; any changes made to it by any of the functions provided by this component are preserved, and presented the next time one of this components functions is called. The length of this data area is passed by the queue manager in the ComponentDataLength parameter of the MQZ_INIT_AUTHORITY call. Continuation (MQLONG) output: Continuation flag. The following values can be specified: MQZCI_DEFAULT Continuation dependent on other components. MQZCI_STOP Do not continue with next component.
Chapter 10. Installable services and components
175
MQZ_INQUIRE
CompCode (MQLONG) output: Completion code. It is one of the following: MQCC_OK Successful completion. MQCC_WARNING Partial completion. MQCC_FAILED Call failed. Reason (MQLONG) output: Reason code qualifying CompCode. If CompCode is MQCC_OK: MQRC_NONE (0, X000) No reason to report. If CompCode is MQCC_WARNING: MQRC_CHAR_ATTRS_TOO_SHORT Not enough space for character attributes. MQRC_INT_COUNT_TOO_SMALL Not enough space for integer attributes. If CompCode is MQCC_FAILED: MQRC_SELECTOR_COUNT_ERROR Number of selectors is not valid. MQRC_SELECTOR_ERROR Attribute selector not valid. MQRC_SELECTOR_LIMIT_EXCEEDED Too many selectors specified. MQRC_INT_ATTR_COUNT_ERROR Number of integer attributes is not valid. MQRC_INT_ATTRS_ARRAY_ERROR Integer attributes array not valid. MQRC_CHAR_ATTR_LENGTH_ERROR Number of character attributes is not valid. MQRC_CHAR_ATTRS_ERROR Character attributes string is not valid. MQRC_SERVICE_ERROR (2289, X8F1) Unexpected error occurred accessing service.
C invocation
MQZ_INQUIRE (QMgrName, SelectorCount, Selectors, IntAttrCount, &IntAttrs, CharAttrLength, &CharAttrs, SelectorReturned, ComponentData, &Continuation, &CompCode, &Reason);
176
MQZ_INQUIRE
component */ /* Completion code */ /* Reason code qualifying CompCode */
MQLONG MQLONG
CompCode; Reason;
177
MQZ_REFRESH_CACHE
Syntax
MQZ_REFRESH_CACHE (QMgrName, ComponentData, Continuation, CompCode, Reason)
Parameters
QMgrName (MQCHAR48) input Queue manager name. The name of the queue manager calling the component. This name is padded with blanks to the full length of the parameter; the name is not terminated by a null character. The queue-manager name is passed to the component for information; the authorization service interface does not require the component to make use of it in any defined manner. ComponentData (MQBYTEComponentDataLength) input/output Component data. This data is kept by the queue manager on behalf of this particular component; any changes made to it by any of the functions provided by this component are preserved, and presented the next time one of this components functions is called. The length of this data area is passed by the queue manager in the ComponentDataLength parameter of the MQZ_INIT_AUTHORITY call. Continuation (MQLONG) output Continuation indicator set by component. The following values can be specified: MQZCI_DEFAULT Continuation dependent on queue manager. For MQZ_REFRESH_CACHE this has the same effect as MQZCI_CONTINUE. MQZCI_CONTINUE Continue with next component. MQZCI_STOP Do not continue with next component. CompCode (MQLONG) output Completion code. It is one of the following: MQCC_OK Successful completion. MQCC_FAILED Call failed. Reason (MQLONG) output Reason code qualifying CompCode.
178
MQZ_REFRESH_CACHE
If CompCode is MQCC_OK: MQRC_NONE (0, X000) No reason to report. If CompCode is MQCC_FAILED: MQRC_SERVICE_ERROR (2289, X8F1) Unexpected error occurred accessing service. For more information on this reason code, see the WebSphere MQ Application Programming Reference book.
C invocation
MQZ_REFRESH_CACHE (QMgrName, ComponentData, &Continuation, &CompCode, &Reason);
179
MQZ_SET_AUTHORITY
Syntax
MQZ_SET_AUTHORITY (QMgrName, EntityName, EntityType, ObjectName, ObjectType, Authority, ComponentData, Continuation, CompCode, Reason)
Parameters
The MQZ_SET_AUTHORITY call has the following parameters. QMgrName (MQCHAR48) input: Queue manager name. The name of the queue manager calling the component. This name is padded with blanks to the full length of the parameter; the name is not terminated by a null character. The queue-manager name is passed to the component for information; the authorization service interface does not require the component to make use of it in any defined manner. EntityName (MQCHAR12) input: Entity name. The name of the entity whose access to the object is to be set. The maximum length of the string is 12 characters; if it is shorter than that it is padded to the right with blanks. The name is not terminated by a null character. EntityType (MQLONG) input: Entity type. The type of entity specified by EntityName. The following value can be specified: MQZAET_PRINCIPAL Principal. MQZAET_GROUP Group. ObjectName (MQCHAR48) input: Object name. The name of the object to which access is required. The maximum length of the string is 48 characters; if it is shorter than that it is padded to the right with blanks. The name is not terminated by a null character. If ObjectType is MQOT_Q_MGR, this name is the same as QMgrName. ObjectType (MQLONG) input: Object type. The type of entity specified by ObjectName. It is one of the following: MQOT_AUTH_INFO Authentication information.
180
MQZ_SET_AUTHORITY
MQOT_CHANNEL Channel. MQOT_CLNTCONN_CHANNEL Client connection channel. MQOT_LISTENER Listener. MQOT_NAMELIST Namelist. MQOT_PROCESS Process definition. MQOT_Q Queue. MQOT_Q_MGR Queue manager. MQOT_SERVICE Service. Authority (MQLONG) input: Authority to be checked. If one authorization is being set, this field is equal to the appropriate authorization operation (MQZAO_* constant). If more than one authorization is being set, it is the bitwise OR of the corresponding MQZAO_* constants. ComponentData (MQBYTEComponentDataLength) input/output: Component data. This data is kept by the queue manager on behalf of this particular component; any changes made to it by any of the functions provided by this component are preserved, and presented the next time one of this components functions is called. The length of this data area is passed by the queue manager in the ComponentDataLength parameter of the MQZ_INIT_AUTHORITY call. Continuation (MQLONG) output: Continuation indicator set by component. The following values can be specified: MQZCI_DEFAULT Continuation dependent on queue manager. For MQZ_SET_AUTHORITY this has the same effect as MQZCI_STOP. MQZCI_CONTINUE Continue with next component. MQZCI_STOP Do not continue with next component. CompCode (MQLONG) output: Completion code. It is one of the following: MQCC_OK Successful completion. MQCC_FAILED Call failed. Reason (MQLONG) output: Reason code qualifying CompCode. If CompCode is MQCC_OK:
181
MQZ_SET_AUTHORITY
MQRC_NONE (0, X000) No reason to report. If CompCode is MQCC_FAILED: MQRC_NOT_AUTHORIZED (2035, X7F3) Not authorized for access. MQRC_SERVICE_ERROR (2289, X8F1) Unexpected error occurred accessing service. MQRC_SERVICE_NOT_AVAILABLE (2285, X8ED) Underlying service not available. MQRC_UNKNOWN_ENTITY (2292, X8F4) Entity unknown to service. For more information on these reason codes, see the WebSphere MQ Application Programming Reference.
C invocation
MQZ_SET_AUTHORITY (QMgrName, EntityName, EntityType, ObjectName, ObjectType, Authority, ComponentData, &Continuation, &CompCode, &Reason);
182
MQZ_TERM_AUTHORITY
Syntax
MQZ_TERM_AUTHORITY (Hconfig, Options, QMgrName, ComponentData, CompCode, Reason)
Parameters
The MQZ_TERM_AUTHORITY call has the following parameters. Hconfig (MQHCONFIG) input: Configuration handle. This handle represents the particular component being terminated. Options (MQLONG) input: Termination options. It is one of the following: MQZTO_PRIMARY Primary termination. MQZTO_SECONDARY Secondary termination. QMgrName (MQCHAR48) input: Queue manager name. The name of the queue manager calling the component. This name is padded with blanks to the full length of the parameter; the name is not terminated by a null character. The queue-manager name is passed to the component for information; the authorization service interface does not require the component to make use of it in any defined manner. ComponentData (MQBYTEComponentDataLength) input/output: Component data. This data is kept by the queue manager on behalf of this particular component; any changes made to it by any of the functions provided by this component are preserved, and presented the next time one of this components functions is called. The length of this data area is passed by the queue manager in the ComponentDataLength parameter on the MQZ_INIT_AUTHORITY call. When the MQZ_TERM_AUTHORITY call has completed, the queue manager discards this data. CompCode (MQLONG) output: Completion code. It is one of the following: MQCC_OK Successful completion.
Chapter 10. Installable services and components
183
MQZ_TERM_AUTHORITY
MQCC_FAILED Call failed. Reason (MQLONG) output: Reason code qualifying CompCode. If CompCode is MQCC_OK: MQRC_NONE (0, X000) No reason to report. If CompCode is MQCC_FAILED: MQRC_SERVICE_NOT_AVAILABLE (2285, X8ED) Underlying service not available. MQRC_TERMINATION_FAILED (2287, X8FF) Termination failed for an undefined reason. For more information on these reason codes, see the WebSphere MQ Application Programming Reference.
C invocation
MQZ_TERM_AUTHORITY (Hconfig, Options, QMgrName, ComponentData, &CompCode, &Reason);
184
For UNIX systems the applications real user ID. 186 For Windows the applications user ID. For OS/400 systems the user profile that the application job was created under. (OS/400: when a profile swap is done with the QWTSETP API in the application job the current user profile is returned). For UNIX systems the applications effective user ID. For Windows this field is all blank. For OS/400 systems the application jobs current user profile. Environment from which the call was made Type of program from which the call was made Type of authentication being performed Type of bindings 186
EffectiveUserID
The MQZAC structure is used on the MQZ_AUTHENTICATE_USER call for the ApplicationContext parameter. This parameter specifies data related to the calling application.
Fields
StrucId (MQCHAR4): Structure identifier. The value is: MQZAC_STRUC_ID Identifier for application context structure. For the C programming language, the constant MQZAC_STRUC_ID_ARRAY is also defined; this has the same value as MQZAC_STRUC_ID, but is an array of characters instead of a string. This is an input field to the service. Version (MQLONG): Structure version number. The value is: MQZAC_VERSION_1 Version-1 application context structure. The following constant specifies the version number of the current version:
Chapter 10. Installable services and components
185
186
C declaration
typedef struct tagMQZAC MQZAC; struct tagMQZAC { MQCHAR4 StrucId; MQLONG Version; MQPID ProcessId; MQTID ThreadId; MQCHAR28 ApplName; MQCHAR12 UserID; MQCHAR12 EffectiveUserID; MQLONG Environment; MQLONG CallerType; MQLONG AuthenticationType; MQLONG BindType; }; /* /* /* /* /* /* /* /* /* /* /* Structure identifier */ Structure version number */ Process identifier */ Thread identifier */ Application name */ User identifier */ Effective user identifier */ Environment */ Caller type */ Authentication type */ Bind type */
187
The MQZAD structure is used on the MQZ_ENUMERATE_AUTHORITY_DATA call for two parameters: v MQZAD is used for the Filter parameter which is input to the call. This parameter specifies the selection criteria that are to be used to select the authority data returned by the call. v MQZAD is also used for the AuthorityBuffer parameter which is output from the call. This parameter specifies the authorizations for one combination of profile name, object type, and entity.
Fields
StrucId (MQCHAR4): Structure identifier. The value is: MQZAD_STRUC_ID Identifier for authority data structure. For the C programming language, the constant MQZAD_STRUC_ID_ARRAY is also defined; this has the same value as MQZAD_STRUC_ID, but is an array of characters instead of a string. This is an input field to the service. Version (MQLONG): Structure version number. The value is: MQZAD_VERSION_1 Version-1 authority data structure. The following constant specifies the version number of the current version: MQZAD_CURRENT_VERSION Current version of authority data structure. This is an input field to the service. ProfileName (MQCHAR48): Profile name.
188
189
C declaration
typedef struct tagMQZAD MQZAD; struct tagMQZAD { MQCHAR4 StrucId; /* MQLONG Version; /* MQCHAR48 ProfileName; /* MQLONG ObjectType; /* MQLONG Authority; /* PMQZED EntityDataPtr; /* Structure identifier */ Structure version number */ Profile name */ Object type */ Authority */ Address of MQZED structure identifying an
190
191
The MQZED structure describes the information that is passed to the MQZAS_VERSION_2 authorization service calls.
Fields
StrucId (MQCHAR4): Structure identifier. The value is: MQZED_STRUC_ID Identifier for entity descriptor structure. For the C programming language, the constant MQZED_STRUC_ID_ARRAY is also defined; this has the same value as MQZED_STRUC_ID, but is an array of characters instead of a string. This is an input field to the service. Version (MQLONG): Structure version number. The value is: MQZED_VERSION_1 Version-1 entity descriptor structure. The following constant specifies the version number of the current version: MQZED_CURRENT_VERSION Current version of entity descriptor structure. This is an input field to the service. EntityNamePtr (PMQCHAR): Address of entity name. This is a pointer to the name of the entity whose authorization is to be checked. EntityDomainPtr (PMQCHAR): Address of entity domain name. This is a pointer to the name of the domain containing the definition of the entity whose authorization is to be checked. SecurityId (MQBYTE40): Security identifier.
192
C declaration
typedef struct tagMQZED MQZED; struct tagMQZED { MQCHAR4 StrucId; /* MQLONG Version; /* PMQCHAR EntityNamePtr; /* PMQCHAR EntityDomainPtr; /* MQBYTE40 SecurityId; /* MQPTR CorrelationPtr; /* Structure identifier */ Structure version number */ Address of entity name */ Address of entity domain name */ Security identifier */ Address of correlation data */
193
The MQZFP structure is used on the MQZ_FREE_USER call for the FreeParms parameter. This parameter specifies data related to resource to be freed.
Fields
StrucId (MQCHAR4): Structure identifier. The value is: MQZFP_STRUC_ID Identifier for free parameters structure. For the C programming language, the constant MQZFP_STRUC_ID_ARRAY is also defined; this has the same value as MQZFP_STRUC_ID, but is an array of characters instead of a string. This is an input field to the service. Version (MQLONG): Structure version number. The value is: MQZFP_VERSION_1 Version-1 free parameters structure. The following constant specifies the version number of the current version: MQZFP_CURRENT_VERSION Current version of free parameters structure. This is an input field to the service. Reserved (MQBYTE8): Reserved field. The initial value is null. CorrelationPtr (MQPTR): Correlation pointer. Address of correlation data relating to the resource to be freed.
C declaration
typedef struct tagMQZFP MQZFP; struct tagMQZFP { MQCHAR4 StrucId; /* Structure identifier */
194
195
The MQZIC structure is used on the MQZ_AUTHENTICATE_USER call for the IdentityContext parameter. The MQZIC structure contains identity context information, that identifies the user of the application that first put the message on a queue: v The queue manager fills the UserIdentifier field with a name that identifies the user, the way that the queue manager can do this depends on the environment in which the application is running. v The queue manager fills the AccountingToken field with a token or number that it determined from the application that put the message. v Applications can use the ApplIdentityData field for any extra information that they want to include about the user (for example, an encrypted password). Suitably authorized applications may set the identity context using the MQZ_AUTHENTICATE_USER function. A Windows systems security identifier (SID) is stored in the AccountingToken field when a message is created under WebSphere MQ for Windows. The SID can be used to supplement the UserIdentifier field and to establish the credentials of a user.
Fields
StrucId (MQCHAR4): Structure identifier. The value is: MQZIC_STRUC_ID Identifier for identity context structure. For the C programming language, the constant MQZIC_STRUC_ID_ARRAY is also defined; this has the same value as MQZIC_STRUC_ID, but is an array of characters instead of a string. This is an input field to the service. Version (MQLONG): Structure version number. The value is: MQZIC_VERSION_1 Version-1 identity context structure. The following constant specifies the version number of the current version:
196
C declaration
typedef struct tagMQZED MQZED; struct tagMQZED { MQCHAR4 StrucId; /* MQLONG Version; /* MQCHAR12 UserIdentifier; /* MQBYTE32 AccountingToken; /* MQCHAR32 ApplIdentityData; /* }; Structure identifier */ Structure version number */ User identifier */ Accounting token */ Application data relating to identity */
197
198
Purpose Connect MQ Change Message Queue Manager Change MQ AuthInfo object Change MQ Channel Change MQ Listener Change MQ Namelist Change MQ Process Change MQ Queue Change MQ Service Clear WebSphere MQ Pub/Sub Clear MQ Queue Copy MQ AuthInfo object Copy MQ Channel Copy MQ Listener Copy MQ Namelist Copy MQ Process Copy MQ Queue Copy MQ Service Create Message Queue Manager Create MQ AuthInfo object Create MQ Channel Create MQ Listener Create MQ Namelist Create MQ Process Create MQ Queue Create MQ Service Convert MQ Data Type Delete Message Queue Manager Delete MQ AuthInfo object Delete WebSphere MQ Pub/Sub Delete MQ Channel Delete MQ Listener Delete MQ Namelist Delete MQ Process Delete MQ Queue
199
The CL commands
DLTMQMSVC DSCMQM DSPMQM DSPMQMAUT DSPMQMAUTI DSPMQMBRK DSPMQMCHL DSPMQMCSVR DSPMQMLSR DSPMQMNL DSPMQMOBJN DSPMQMPRC DSPMQMQ DSPMQMRTE DSPMQMSTS DSPMQMSVC DSPMQMVER ENDMQM ENDMQMBRK ENDMQMCHL Delete MQ Service Disconnect MQ Display Message Queue Manager Display MQ Object Authority Display MQ AuthInfo object Display WebSphere MQ Pub/Sub Display MQ Channel Display MQ Command Server Display MQ Listener Display MQ Namelist Display MQ Object Names Display MQ Process Display MQ Queue Display MQ Route Information Display Queue Manager Status Display MQ Service Display MQ Version End Message Queue Manager End WebSphere MQ Pub/Sub End MQ Channel
ENDMQMCONN End Queue Manager Connection ENDMQMCSVR ENDMQMLSR ENDMQMSVC GRTMQMAUT PNGMQMCHL RCDMQMIMG RCRMQMOBJ RFRMQMAUT RFRMQMCL RSMMQMCLQM RSTMQMCHL RSTMQMCL RSVMQMCHL RUNMQSC RVKMQMAUT SPDMQMCLQM STRMQM STRMQMBRK STRMQMCHL STRMQMCHLI STRMQMCSVR End MQ Command Server End MQ Listeners End MQ Service Grant MQ Object Authority Ping MQ Channel Record MQ Object Image Recreate MQ Object Refresh WebSphere MQ Authority Refresh MQ Cluster Resume Cluster Queue Manager Reset MQ Channel Reset Cluster Resolve MQ Channel RUNMQSC Revoke MQ Object Authority Suspend Cluster Queue Manager Start Message Queue Manager Start WebSphere MQ Pub/Sub Start MQ Channel Start MQ Channel Initiator Start MQ Command Server
200
The CL commands
STRMQMDLQ STRMQMLSR STRMQMMQSC STRMQMSVC STRMQMTRM TRCMQM WRKMQM WRKMQMAUT Start WebSphere MQ DLQ Handler Start MQ Listener Start WebSphere MQ Commands Start MQ Service Start MQ Trigger Monitor Trace MQ Work with MQ Queue Manager Work with MQ Authority
WRKMQMAUTD Work with MQ Authority Data WRKMQMAUTI WRKMQMCHL WRKMQMCHST WRKMQMCL WRKMQMCLQ Work with AuthInfo objects Work with MQ Channels Work with MQ Channel Status Work with MQ Clusters Work with MQ Cluster Queues
WRKMQMCONN Work with MQ Connections WRKMQMLSR WRKMQMMSG WRKMQMNL WRKMQMPRC WRKMQMQ WRKMQMQSTS WRKMQMSVC WRKMQMTRN Work with MQ Listeners Work with MQ Messages Work with MQ Namelist Work with MQ Processes Work with MQ Queues Work with Queue Status Work with MQ Service object Work with MQ Transactions
201
The CL commands
Connect MQ (CCTMQM)
The Connect Message Queue Manager (CCTMQM) command does not perform any function and is only provided for compatibility with previous releases of WebSphere MQ and MQSeries.
Parameters
None
Parameters
MQMNAME, FORCE, TEXT, TRGITV, UDLMSGQ, DFTTMQ, MAXHDL, MAXUMSG, AUTEVT, INHEVT, LCLERREVT, RMTERREVT, PFREVT, STRSTPEVT, CHAD, CHADEV, CHADEXIT, MAXMSGL, CCSID, CLWLDATA, CLWLEXIT, CLWLLEN, REPOS, REPOSNL, SSLCRLNL, SSLKEYR, SSLKEYRPWD, SSLRSTCNT, IPADDRV, CLWLMRUC, CLWLUSEQ, LOGGEREVT, CHLEVT, SSLEVT, SCHINIT, SCMDSERV, MONQ, MONCHL, MONACLS, STATMQI, STATQ, STATCHL, STATACLS, STATINT, ACCTMQI, ACCTQ, ACCTINT, ACCTCONO, ROUTEREC, ACTIVREC
queue-manager-name Specify the name of the queue manager. The name can contain up to 48 characters. The maximum number of characters is reduced if the system is using a double byte character set (DBCS).
Force (FORCE)
Specifies whether the command should be forced to complete if both of the following are true: v DFTTMQ is specified. v An application has a remote queue open, the resolution of which will be affected by this change. The possible values are: *NO *YES The command fails if an open remote queue will be affected. The command is forced to complete.
202
The CL commands
*SAME The attribute is unchanged. *BLANK The text is set to a blank string. description Specify no more than 64 characters enclosed in apostrophes. Note: The field length is 64 bytes and the maximum number of characters is reduced if the system is using a double byte character set (DBCS).
203
The CL commands
*NONE There is no default transmission queue. The attribute is set to a blank string. default-transmission-queue-name Specify the name of a local transmission queue that is to be used as the default transmission queue.
204
The CL commands
*YES Inhibit events are generated.
205
The CL commands
*YES Receiver and server-connection channels are automatically defined.
206
The CL commands
server and channel programs. You are recommended to stop and restart the queue manager after making the change to achieve this. The possible values are: *SAME The attribute is unchanged. number Specify a value ranging from 1 through 65 535. The value must represent a coded character set identifier that is defined for use on iSeries.
207
The CL commands
If the parameter REPOSNL is non-blank this parameter must be blank. The possible values are: *SAME The attribute is unchanged. *NONE A cluster is not specified. clustername The maximum length is 48 characters conforming to the rules for naming WebSphere MQ objects.
208
The CL commands
through Digital Certificate Manager. If you specify this value you are not required to set the key repository password (SSLKEYRPWD). *NONE A key repository is not specified. filename The location of the key repository. If you specify this value you are must ensure the key repository contains a correctly labelled digital certificate and also set the key repository password (SSLKEYRPWD) to enable channels to access the key repository. See the WebSphere MQ Security manual for more details.
IP protocol (IPADDRV)
The IP protocol to use for channel connections. This attribute is only relevant for systems enabled for both IPv4 and IPv6. The attribute affects channels with TRPTYPE defined as TCP when the CONNAME is defined as a hostname that resolves to both an IPv4, and an IPv6 address, and one of the following is true: v LOCLADDR is not specified. v LOCLADDR also resolves to both an IPv4 and an IPv6 address. The possible values are:
209
The CL commands
*SAME The attribute is unchanged. *IPV4 The IPv4 stack is used. *IPV6 The IPv6 stack is used.
210
The CL commands
Only the following channel events are generated: v MQRC_CHANNEL_ACTIVATED v MQRC_CHANNEL_CONV_ERROR v MQRC_CHANNEL_NOT_ACTIVATED v MQRC_CHANNEL_STOPPED The channel events are issued with the following reason qualifiers: MQRQ_CHANNEL_STOPPED_ERROR MQRQ_CHANNEL_STOPPED_RETRY MQRQ_CHANNEL_STOPPED_DISABLED MQRC_CHANNEL_STOPPED_BY_USER *YES All channel events are generated. In addition to those generated by *EXCEPTION the following channel events are also generated: v MQRC_CHANNEL_STARTED v MQRC_CHANNEL_STOPPED with the following reason qualifier: MQRQ_CHANNEL_STOPPED_OK
211
The CL commands
*QMGR Start and stop the command server with the queue manager. *MANUAL Do not automatically start the command server with the queue manager.
*LOW Monitoring data collection is turned on with a low ratio of data collection for queues specifying *QMGR in the MONQ queue attribute. *MEDIUM Monitoring data collection is turned on with a moderate ratio of data collection for queues specifying *QMGR in the MONQ queue attribute. *HIGH Monitoring data collection is turned on with a high ratio of data collection for queues specifying *QMGR in the MONQ queue attribute.
*LOW Monitoring data collection is turned on with a low ratio of data collection for channels specifying *QMGR in the MONCHL channel attribute. *MEDIUM Monitoring data collection is turned on with a moderate ratio of data collection for channels specifying *QMGR in the MONCHL channel attribute. *HIGH Monitoring data collection is turned on with a high ratio of data collection for channels specifying *QMGR in the MONCHL channel attribute.
212
The CL commands
213
The CL commands
*NONE Data collection for channel statistics is disabled for all channels regardless of the setting of the STATCHL channel attribute. *OFF Statistics data collection is turned off for channels specifying *QMGR in the STATCHL channel attribute.
*LOW Statistics data collection is turned on with a low ratio of data collection for channels specifying *QMGR in the STATCHL channel attribute. *MEDIUM Statistics data collection is turned on with a moderate ratio of data collection for channels specifying *QMGR in the STATCHL channel attribute. *HIGH Statistics data collection is turned on with a high ratio of data collection for channels specifying *QMGR in the STATCHL channel attribute.
214
The CL commands
*ON API accounting data collection is switched on.
215
The CL commands
*DISABLED No appending to trace route messages allowed.
Parameters
AINAME, MQMNAME, CONNAME, TEXT, USERNAME, PASSWORD
queue-manager-name The name of an existing message queue manager. The maximum string length is 48 characters.
216
The CL commands
connection-name Specify the fully qualified DNS name or IP address of the host together with an optional port number. The maximum string length is 264 characters.
217
The CL commands
Parameters
CHLNAME, MQMNAME, CHLTYPE, TRPTYPE, TEXT, TGTMQMNAME, CONNAME, TPNAME, MODENAME, TMQNAME, MCANAME, MCAUSRID, MCATYPE, BATCHINT, BATCHSIZE, DSCITV, SHORTTMR, SHORTRTY, LONGTMR, LONGRTY, SCYEXIT, SCYUSRDATA, SNDEXIT, SNDUSRDATA, RCVEXIT, RCVUSRDATA, MSGEXIT, MSGUSRDATA, MSGRTYEXIT, MSGRTYDATA, MSGRTYNBR, MSGRTYITV, CVTMSG, PUTAUT, SEQNUMWRAP, MAXMSGLEN, HRTBTINTVL, NPMSPEED, CLUSTER, CLUSNL, NETPRTY, SSLCIPH, SSLCAUTH, SSLPEER, LOCLADDR, BATCHHB, USERID, PASSWORD, KAINT, COMPHDR, COMPMSG, MONCHL, STATCHL, CLWLRANK, CLWLPRTY, CLWLWGHT
218
The CL commands
219
The CL commands
v For *TCP, specify either the host name, or the network address of the remote machine (or the local machine for cluster-receiver channels). This can be followed by an optional port number enclosed in parentheses. If a connection name is not specified for cluster-receiver channels a connection name is automatically generated, assuming the default port and using the current IP address of the system. Where a port is not specified the default port 1414 is assumed. For cluster-receiver channels the connection name relates to the local queue manager, and for other channels it relates to the target queue manager. This parameter is required for channels with channel type (CHLTYPE) of *SDR, *RQSTR, *CLTCN and *CLUSSDR. It is optional for *SVR and *CLUSRCVR channels, and is not valid for *RCVR or *SVRCN channels.
220
The CL commands
*NONE No mode name is specified. *BLANK Name will be taken from the CPI-C Communications Side Object. This must be specified in the CONNAME parameter. SNA-mode-name Specify the SNA Mode Name
221
The CL commands
222
The CL commands
223
The CL commands
224
The CL commands
225
The CL commands
226
The CL commands
*NONE The message retry exit program is not invoked. message-retry-exit-name Specify the name of the message retry exit program. library-name Specify the name of the library that contains the exit program. This parameter must be present if an exit program name is specified.
227
The CL commands
228
The CL commands
229
The CL commands
*SAME The value of this attribute does not change. *NONE No cluster namelist is specififed. cluster-name-list The name of the namelist specifying a list of clusters to which the channel belongs. The maximum length is 48 characters conforming to the rules for naming MQ objects.
230
The CL commands
x500peername The X500 peer name to use.
231
The CL commands
user-identifier Specify the task user identifier.
Password (PASSWORD)
This is used by the message channel agent when attempting to initiate a secure LU 6.2 session with a remote message channel agent. This parameter is valid only for channels with a channel type (CHLTYPE) of *SDR, *SVR, *RQSTR, *CLTCN or *CLUSSDR. Although the maximum length of the attribute is 12 characters, only the first 10 characters are used. The possible values are: *SAME The value of this attribute does not change. *NONE No password is specified. password Specify the password.
232
The CL commands
*NONE No header data compression is performed. *SYSTEM Header data compression is performed.
*ZLIBFAST Message data compression is performed using the zlib compression technique. A fast compression time is preferred. *ZLIBHIGH Message data compression is performed using the zlib compression technique. A high level of compression is preferred. *ANY Any compression technique supported by the queue manager can be used. This option is only valid for channel types receiver, requester and server connection (*RCVR, *RQSTR and *SVRCN).
*LOW Monitoring data collection is turned on with a low ratio of data collection. *MEDIUM Monitoring data collection is turned on with a moderate ratio of data collection. *HIGH Monitoring data collection is turned on with a high ratio of data collection.
Appendix A. The CL commands
233
The CL commands
*LOW Statistics data collection is turned on with a low ratio of data collection. *MEDIUM Statistics data collection is turned on with a moderate ratio of data collection. *HIGH Statistics data collection is turned on with a high ratio of data collection.
234
The CL commands
Parameters
LSRNAME, MQMNAME, TEXT, CONTROL, PORT, IPADDR, BACKLOG
235
The CL commands
*QMGR The listener is started and stopped as the queue manager is started and stopped. *STARTONLY The listener is started as the queue manager is started, but is not automatically stopped when the queue manager is stopped.
IP Address (IPADDR)
The IP address to be used by the listener. The possible values are: *SAME The attribute is unchanged. ip-addr The IP address to be used.
Parameters
NAMELIST, MQMNAME, TEXT, NAMES
Namelist (NAMELIST)
The name of the namelist to be changed. namelist Specify the name of the namelist. The maximum length of the string is 48 bytes.
236
The CL commands
Parameters
PRCNAME, MQMNAME, TEXT, APPTYPE, APPID, USRDATA, ENVDATA
237
The CL commands
queue-manager-name The name of a message queue manager.
*DOS Represents a DOS application. *UNIX Represents a UNIX application. *QMGR Represents a queue manager. *OS400 Represents an iSeries application. *WINDOWS Represents a Windows application. *CICS_VSE Represents a CICS/VSE application. *WINDOWS_NT Represents a Windows NT application. *VMS Represents a VMS application. *NSK Represents a Tandem/NSK application. *VOS Represents a VOS application. *IMS_BRIDGE Represents an IMS bridge application.
238
The CL commands
*XCF Represents an XCF application.
*CICS_BRIDGE Represents a CICS bridge application. *NOTES_AGENT Represents a Lotus Notes application. *BROKER Represents a broker application. *JAVA Represents a Java application. *DQM Represents a DQM application. user-value User-defined application type in the range 65 536 through 999 999 999.
239
The CL commands
Parameters
QNAME, MQMNAME, QTYPE, FORCE, TEXT, PUTENBL, DFTPTY, DFTMSGPST, PRCNAME, TRGENBL, GETENBL, SHARE, DFTSHARE, MSGDLYSEQ, HDNBKTCNT, TRGTYPE, TRGDEPTH, TRGMSGPTY, TRGDATA, RTNITV, MAXDEPTH, MAXMSGLEN, BKTTHLD, BKTQNAME, INITQNAME, USAGE, DFNTYPE, TGTQNAME, RMTQNAME, RMTMQMNAME, TMQNAME, HIGHTHLD, LOWTHLD, FULLEVT, HIGHEVT, LOWEVT, SRVITV, SRVEVT, DISTLIST, CLUSTER, CLUSNL, DEFBIND, CLWLRANK, CLWLPRTY, CLWLUSEQ, MONQ, STATQ, ACCTQ, NPMCLASS
Force (FORCE)
Specifies whether the command should be forced to complete when conditions are such that completing the command affects an open queue. The conditions depend on the type of the queue that is being changed: Alias Queue The TGTQNAME keyword is specified with a queue name and an application has the alias queue open.
240
The CL commands
Local Queue Either of the following conditions indicate that a local queue will be affected: v SHARE(*NO) is specified and more than one application has the local queue open for input. v The USAGE attribute is changed and one or more applications has the local queue open, or, there are one or more messages on the queue. (The USAGE attribute should not normally be changed while there are messages on the queue; the format of messages changes when they are put on a transmission queue.) Remote Queue Either of the following conditions indicate that a remote queue will be affected: v The TMQNAME keyword is specified with a transmission-queue name (or *NONE) and an application with the remote queue open will be affected by this change. v Any of the RMTQNAME, RMTMQMNAME or TMQNAME keywords is specified with a queue or queue manager name, and one or more applications has a queue open that resolves through this definition as a queue manager alias. Note: FORCE(*YES) is not required if this definition is in use as a reply-to queue definition only. The possible values are: *NO *YES The command fails if the relevant conditions are true. The command is forced to complete successfully even if the relevant conditions are true.
241
The CL commands
*SAME The attribute is unchanged. *NO *YES Messages cannot be added to the queue. Messages can be added to the queue by authorized applications.
242
The CL commands
*SAME The attribute is unchanged. *NO *YES Triggering is not enabled. Trigger messages are not written to the initiation queue. Triggering is enabled. Trigger messages are written to the initiation queue.
243
The CL commands
*DEPTH When the number of messages on the queue equals the value of the TRGDEPTH attribute. *NONE No trigger messages are written.
244
The CL commands
Note: An application program can issue a call to MQSET to change the value of this attribute. The possible values are: *SAME The attribute is unchanged. priority-value Specify a value ranging from 0 through 9, where 9 is the highest priority.
245
The CL commands
Note: If this value is subsequently reduced by using the CHGMQMQ command, any messages that are on the queue remain intact even if they cause the new maximum to be exceeded. The possible values are: *SAME The attribute is unchanged. depth-value Specify a value ranging from 0 through 999 999 999.
246
The CL commands
Usage (USAGE)
Specifies whether the queue is for normal usage, or for transmitting messages to a remote message queue manager. The possible values are: *SAME The attribute is unchanged. *NORMAL Normal usage (the queue is not a transmission queue) *TMQ The queue is a transmission queue that is used to hold messages destined for a remote message queue manager. If the queue is intended for use in situations where a transmission queue name is not explicitly specified, the queue name must be the same as the name of the remote message queue manager. For further information, see WebSphere MQ Intercommunication.
247
The CL commands
Note: The target queue does not need to exist at this time but it must exist when a process attempts to open the alias queue. The possible values are: *SAME The attribute is unchanged. target-queue-name Specify the name of the target queue.
248
The CL commands
remote-queue-manager-name Specify the name of the remote queue manager. Note: Ensure this name contains only those characters normally allowed for queue manager names.
249
The CL commands
250
The CL commands
The possible values are: *SAME The attribute is unchanged. *HIGH Service interval high events are generated. *OK *NONE No service interval events are generated. Service interval OK events are generated.
251
The CL commands
252
The CL commands
*ANY The queue manager will treat such a local queue as another instance of the cluster queue for the purposes of workload distribution.
*LOW Monitoring data collection is turned on with a low ratio of data collection. *MEDIUM Monitoring data collection is turned on with a moderate ratio of data collection. *HIGH Monitoring data collection is turned on with a high ratio of data collection.
253
The CL commands
*QMGR Accouting data collection is based upon the setting of the queue manager attribute ACCTQ. *OFF *ON Accounting data collection for this queue is switched off. Accounting data collection is switched on for this queue.
Parameters
SVCNAME, MQMNAME, TEXT, STRCMD, STRARG, ENDCMD, ENDARG, STDOUT, STDERR, TYPE, CONTROL
254
The CL commands
Note: The field length is 64 bytes and the maximum number of characters is reduced if the system is using a double-byte character set (DBCS). The possible values are: *SAME The attribute is unchanged. *BLANK The text is set to a blank string. description Specify no more than 64 characters enclosed in apostrophes.
255
The CL commands
*BLANK No arguments are passed to the end command. end-command-arguments The arguments passed to the end command.
256
The CL commands
*QMGR The service is started and stopped as the queue manager is started and stopped. *STARTONLY The service is started as the queue manager is started, but will not be requested to stop when the queue manager is stopped.
Parameters
MQMNAME, BRKPARENT, CHILDMQM
Parameters
QNAME, MQMNAME
257
The CL commands
Parameters
FROMAI, TOAI, MQMNAME, AUTHTYPE, CONNAME, REPLACE, TEXT, USERNAME, PASSWORD
258
The CL commands
*DFT Use the default queue manager.
queue-manager-name The name of an existing message queue manager. The maximum string length is 48 characters.
Replace (REPLACE)
Specifies whether the new authentication information object should replace an existing authentication information object with the same name. The possible values are: *NO This definition does not replace any existing authentication information object with the same name. The command fails if the named authentication information object already exists. Replace an existing authentication information object. A new object is created if the named authentication information object does not exist.
*YES
259
The CL commands
description The string length can be up to 64 characters enclosed in apostrophes.
Parameters
FROMCHL, TOCHL, MQMNAME, CHLTYPE, REPLACE, TRPTYPE, TEXT, TGTMQMNAME, CONNAME, TPNAME, MODENAME, TMQNAME, MCANAME, MCAUSRID, MCATYPE, BATCHINT, BATCHSIZE, DSCITV, SHORTTMR, SHORTRTY, LONGTMR, LONGRTY, SCYEXIT, SCYUSRDATA, SNDEXIT, SNDUSRDATA, RCVEXIT, RCVUSRDATA, MSGEXIT, MSGUSRDATA, MSGRTYEXIT, MSGRTYDATA, MSGRTYNBR, MSGRTYITV, CVTMSG, PUTAUT, SEQNUMWRAP, MAXMSGLEN, HRTBTINTVL, NPMSPEED, CLUSTER, CLUSNL, NETPRTY, SSLCIPH, SSLCAUTH, SSLPEER, LOCLADDR, BATCHHB, USERID, PASSWORD, KAINT, COMPHDR, COMPMSG, MONCHL, STATCHL, CLWLRANK, CLWLPRTY, CLWLWGHT
260
The CL commands
from-channel-name Specify the name of the source MQ channel.
To channel (TOCHL)
Specifies the name of the new channel definition. The name can contain a maximum of 20 characters. Channel names must be unique. If a channel definition with this name already exists, REPLACE(*YES) must be specified. The possible values are: to-channel-name Specify the name of MQ channel being created.
Replace (REPLACE)
Specifies whether the new channel definition replaces an existing channel definition with the same name. The possible values are: *NO Do not replace the existing channel definition. The command fails if the named channel definition already exists.
261
The CL commands
*YES Replace the existing channel definition. If there is no definition with the same name a new definition is created.
262
The CL commands
connection-name Specify the connection name as required by the transmission protocol: v For *LU62, specify the name of the CSI object. v For *TCP, specify either the host name, or the network address of the remote machine (or the local machine for cluster-receiver channels). This can be followed by an optional port number enclosed in parentheses. If a connection name is not specified for cluster-receiver channels a connection name is automatically generated, assuming the default port and using the current IP address of the system. Where a port is not specified the default port 1414 is assumed. For cluster-receiver channels the connection name relates to the local queue manager, and for other channels it relates to the target queue manager. This parameter is required for channels with channel type (CHLTYPE) of *SDR, *RQSTR, *CLTCN and *CLUSSDR. It is optional for *SVR and *CLUSRCVR channels, and is not valid for *RCVR or *SVRCN channels.
263
The CL commands
*SAME The value of this attribute does not change. *NONE No mode name is specified. *BLANK Name will be taken from the CPI-C Communications Side Object. This must be specified in the CONNAME parameter. SNA-mode-name Specify the SNA Mode Name
264
The CL commands
265
The CL commands
266
The CL commands
267
The CL commands
268
The CL commands
269
The CL commands
*NONE The message retry exit program is not invoked. message-retry-exit-name Specify the name of the message retry exit program. library-name Specify the name of the library that contains the exit program. This parameter must be present if an exit program name is specified.
270
The CL commands
271
The CL commands
272
The CL commands
*SAME The value of this attribute does not change. *NONE No cluster namelist is specified. cluster-name-list The name of the namelist specifying a list of clusters to which the channel belongs. The maximum length is 48 characters conforming to the rules for naming MQ objects.
273
The CL commands
x500peername The X500 peer name to use.
274
The CL commands
user-identifier Specify the task user identifier.
Password (PASSWORD)
This is used by the message channel agent when attempting to initiate a secure LU 6.2 session with a remote message channel agent. This parameter is valid only for channels with a channel type (CHLTYPE) of *SDR, *SVR, *RQSTR, *CLTCN or *CLUSSDR. Although the maximum length of the attribute is 12 characters, only the first 10 characters are used. The possible values are: *SAME The value of this attribute does not change. *NONE No password is specified. password Specify the password.
275
The CL commands
*NONE No header data compression is performed. *SYSTEM Header data compression is performed.
*ZLIBFAST Message data compression is performed using the zlib compression technique. A fast compression time is preferred. *ZLIBHIGH Message data compression is performed using the zlib compression technique. A high level of compression is preferred. *ANY Any compression technique supported by the queue manager can be used. This option is only valid for channel types receiver, requester and server connection (*RCVR, *RQSTR and *SVRCN).
*LOW Monitoring data collection is turned on with a low ratio of data collection. *MEDIUM Monitoring data collection is turned on with a moderate ratio of data collection. *HIGH Monitoring data collection is turned on with a high ratio of data collection.
276
The CL commands
*LOW Statistics data collection is turned on with a low ratio of data collection. *MEDIUM Statistics data collection is turned on with a moderate ratio of data collection. *HIGH Statistics data collection is turned on with a high ratio of data collection.
277
The CL commands
Parameters
FROMLSR, TOLSR, MQMNAME, REPLACE, TEXT, CONTROL, PORT, IPADDR, BACKLOG
To Listener (TOLSR)
Specifies the name of the new listener definition to be created. The name can contain a maximum of 48 characters. If a listener definition with this name already exists, REPLACE(*YES) must be specified. The possible values are: to-listener-name Specify the name of the new listener being created.
Replace (REPLACE)
Specifies whether the new listener definition will replace an existing listener definition with the same name. The possible values are: *NO This definition does not replace any existing listener definition with the same name. The command fails if the named listener definition already exists. Replace the existing listener definition. If there is no definition with the same name, a new definition is created.
*YES
278
The CL commands
IP Address (IPADDR)
The IP address to be used by the listener. The possible values are: *SAME The attribute is unchanged. ip-addr The IP address to be used.
279
The CL commands
Parameters
FROMNL, TONL, MQMNAME, REPLACE, TEXT, NAMES
To Namelist (TONL)
The name of the new namelist to be created. The name can contain a maximum of 48 characters. If a namelist with this name already exists, REPLACE(*YES) must be specified. to-namelist Specify the name of the MQ namelist being created.
Replace (REPLACE)
Specifies whether the new namelist should replace an existing namelist with the same name. *NO *YES Do not replace the existing namelist. The command fails if the named namelist already exists. Replace the existing namelist. If there is no namelist with the same name, a new namelist is created.
280
The CL commands
Note: The field length is 64 bytes and the maximum number of characters is reduced if the system is using a double byte character set (DBCS). *SAME The attribute is unchanged. description Specify no more than 64 characters enclosed in apostrophes.
Parameters
FROMPRC, TOPRC, MQMNAME, REPLACE, TEXT, APPTYPE, APPID, USRDATA, ENVDATA
To process (TOPRC)
The name of the new process definition to be created. The name can contain a maximum of 48 characters. If a process definition with this name already exists, REPLACE(*YES) must be specified. The possible values are: to-process-name Specify the name of the MQ process being created.
281
The CL commands
queue-manager-name The name of a message queue manager.
Replace (REPLACE)
Specifies whether the new process definition should replace an existing process definition with the same name. The possible values are: *NO This definition does not replace any existing process definition with the same name. The command fails if the named process definition already exists. Replace the existing process definition. If there is no definition with the same name, a new definition is created.
*YES
*DOS Represents a DOS application. *UNIX Represents a UNIX application. *QMGR Represents a queue manager. *OS400 Represents an iSeries application. *WINDOWS Represents a Windows application.
282
The CL commands
*CICS_VSE Represents a CICS/VSE application. *WINDOWS_NT Represents a Windows NT application. *VMS Represents a VMS application. *NSK Represents a Tandem/NSK application. *VOS Represents a VOS application. *IMS_BRIDGE Represents an IMS bridge application. *XCF Represents an XCF application.
*CICS_BRIDGE Represents a CICS bridge application. *NOTES_AGENT Represents a Lotus Notes application. *BROKER Represents a broker application. *JAVA Represents a Java application. *DQM Represents a DQM application. user-value User-defined application type in the range 65 536 through 999 999 999.
283
The CL commands
Parameters
FROMQ, TOQ, MQMNAME, QTYPE, REPLACE, TEXT, PUTENBL, DFTPTY, DFTMSGPST, PRCNAME, TRGENBL, GETENBL, SHARE, DFTSHARE, MSGDLYSEQ, HDNBKTCNT, TRGTYPE, TRGDEPTH, TRGMSGPTY, TRGDATA, RTNITV, MAXDEPTH, MAXMSGLEN, BKTTHLD, BKTQNAME, INITQNAME, USAGE, DFNTYPE, TGTQNAME, RMTQNAME, RMTMQMNAME, TMQNAME, HIGHTHLD, LOWTHLD, FULLEVT, HIGHEVT, LOWEVT, SRVITV, SRVEVT, DISTLIST, CLUSTER, CLUSNL, DEFBIND, CLWLRANK, CLWLPRTY, CLWLUSEQ, MONQ, STATQ, ACCTQ, NPMCLASS
284
The CL commands
Replace (REPLACE)
Specifies whether the new queue will replace an existing queue definition with the same name and type. The possible values are: *NO *YES Do not replace the existing queue definition. The command fails if the named queue already exists. Replace the existing queue definition with the attributes of the FROMQ and the specified attributes. The command fails if an application has the queue open or the USAGE attribute is changed. Note: If the queue is a local queue, and a queue with the same name already exists, any messages already on that queue are retained.
285
The CL commands
Note: An application program can issue a call to MQSET to change the value of this attribute. The possible values are: *SAME The attribute is unchanged. *NO *YES Messages cannot be added to the queue. Messages can be added to the queue by authorized applications.
286
The CL commands
Note: An application program can issue a call to MQSET to change the value of this attribute. The possible values are: *SAME The attribute is unchanged. *NO *YES Triggering is not enabled. Trigger messages are not written to the initiation queue. Triggering is enabled. Trigger messages are written to the initiation queue.
287
The CL commands
*PTY Messages are delivered in first-in-first-out (FIFO) order within priority.
*DEPTH When the number of messages on the queue equals the value of the TRGDEPTH attribute. *NONE No trigger messages are written.
288
The CL commands
289
The CL commands
290
The CL commands
*NONE No backout queue is specified. backout-queue-name Specify the backout queue name.
Usage (USAGE)
Specifies whether the queue is for normal usage, or for transmitting messages to a remote message queue manager. The possible values are: *SAME The attribute is unchanged. *NORMAL Normal usage (the queue is not a transmission queue) *TMQ The queue is a transmission queue that is used to hold messages destined for a remote message queue manager. If the queue is intended for use in situations where a transmission queue name is not explicitly specified, the queue name must be the same as the name of the remote message queue manager. For further information, see WebSphere MQ Intercommunication.
291
The CL commands
292
The CL commands
The possible values are: *SAME The attribute is unchanged. remote-queue-manager-name Specify the name of the remote queue manager. Note: Ensure this name contains only those characters normally allowed for queue manager names.
293
The CL commands
threshold-value Specify a value ranging from 0 through 100. This value is used as a percentage of the maximum queue depth (MAXDEPTH parameter).
294
The CL commands
A service interval OK event is generated when a check indicates that messages have been retrieved from the queue within the time indicated by the SRVITV parameter. The possible values are: *SAME The attribute is unchanged. *HIGH Service interval high events are generated. *OK *NONE No service interval events are generated. Service interval OK events are generated.
295
The CL commands
namelist-name Only one of the resultant values of CLUSTER or CLUSNL can be non-blank; you cannot specify a value for both.
296
The CL commands
*LOCAL The local queue will be the sole target of the MQPUT. *ANY The queue manager will treat such a local queue as another instance of the cluster queue for the purposes of workload distribution.
*LOW Monitoring data collection is turned on with a low ratio of data collection. *MEDIUM Monitoring data collection is turned on with a moderate ratio of data collection. *HIGH Monitoring data collection is turned on with a high ratio of data collection.
297
The CL commands
*SAME The attribute is unchanged. *QMGR Accouting data collection is based upon the setting of the queue manager attribute ACCTQ. *OFF *ON Accounting data collection for this queue is switched off. Accounting data collection is switched on for this queue.
Parameters
FROMSVC, TOSVC, MQMNAME, REPLACE, TEXT, STRCMD, STRARG, ENDCMD, ENDARG, STDOUT, STDERR, TYPE, CONTROL
To Service (TOSVC)
The name of the new service definition to be created. The name can contain a maximum of 48 characters. If a service definition with this name already exists, REPLACE(*YES) must be specified. The possible values are:
298
The CL commands
to-service-name Specify the name of the service being created.
Replace (REPLACE)
Specifies whether the new service definition should replace an existing service definition with the same name. The possible values are: *NO This definition does not replace any existing service definition with the same name. The command fails if the named service definition already exists. Replace the existing service definition. If there is no definition with the same name, a new definition is created.
*YES
299
The CL commands
*SAME The attribute is unchanged. *BLANK No arguments are passed to the start command. start-command-arguments The arguments passed to the start command.
300
The CL commands
*BLANK The standard error is discarded. stderr-path The standard error path.
Parameters
MQMNAME, TEXT, TRGITV, UDLMSGQ, DFTTMQ, MAXHDL, MAXUMSG, DFTQMGR, MQMLIB, ASP, THRESHOLD
301
The CL commands
302
The CL commands
default-transmission-queue-name Specify the name of a local transmission queue that is to be used as the default transmission queue.
303
The CL commands
*SYSTEM The system auxillary storage pool (ASP 1) provides the storage for the queue manager library, journal and journal receivers. auxillary-storage-pool-number Specify a value ranging from 1 through 32 to specify the number of the system or basic user ASP to provide storage for the queue manager library, journal and journal receivers. ASPs allow isolation of objects on one or more specific disk units. This may reduce the loss of data due to a disk media failure. In most cases, only data that is stored on disk units in the affected ASP is lost. It is recommended to store the queue manager library and journal data in a seperate user ASP to that of the root IFS file system, to provide failover and reduce disk contention.
Parameters
AINAME, MQMNAME, AUTHTYPE, CONNAME, REPLACE, TEXT, USERNAME, PASSWORD
queue-manager-name The name of an existing message queue manager. The maximum string length is 48 characters.
304
The CL commands
Replace (REPLACE)
If an authentication information object with the same name already exists, this specifies whether it is replaced. The possible values are: *NO This definition does not replace any existing authentication information object with the same name. The command fails if the named authentication information object already exists. Replace an existing authentication information object. A new object is created if the named authentication information object does not exist.
*YES
305
The CL commands
Parameters
CHLNAME, CHLTYPE, MQMNAME, REPLACE, TRPTYPE, TEXT, TGTMQMNAME, CONNAME, TPNAME, MODENAME, TMQNAME, MCANAME, MCAUSRID, MCATYPE, BATCHINT, BATCHSIZE, DSCITV, SHORTTMR, SHORTRTY, LONGTMR, LONGRTY, SCYEXIT, SCYUSRDATA, SNDEXIT, SNDUSRDATA, RCVEXIT, RCVUSRDATA, MSGEXIT, MSGUSRDATA, MSGRTYEXIT, MSGRTYDATA, MSGRTYNBR, MSGRTYITV, CVTMSG, PUTAUT, SEQNUMWRAP, MAXMSGLEN, HRTBTINTVL, NPMSPEED, CLUSTER, CLUSNL, NETPRTY, SSLCIPH, SSLCAUTH, SSLPEER, LOCLADDR, BATCHHB, USERID, PASSWORD, KAINT, COMPHDR, COMPMSG, MONCHL, STATCHL, CLWLRANK, CLWLPRTY, CLWLWGHT
306
The CL commands
Replace (REPLACE)
Specifies whether the new channel definition should replace an existing channel definition with the same name. The possible values are: *NO *YES Do not replace the existing channel definition. The command fails if the named channel definition already exists. Replace the existing channel definition. If there is no definition with the same name, a new definition is created.
307
The CL commands
*TCP Transmission Control Protocol/Internet Protocol (TCP/IP).
308
The CL commands
If a connection name is not specified for cluster-receiver channels a connection name is automatically generated, assuming the default port and using the current IP address of the system. Where a port is not specified the default port 1414 is assumed. For cluster-receiver channels the connection name relates to the local queue manager, and for other channels it relates to the target queue manager. This parameter is required for channels with channel type (CHLTYPE) of *SDR, *RQSTR, *CLTCN and *CLUSSDR. It is optional for *SVR and *CLUSRCVR channels, and is not valid for *RCVR or *SVRCN channels.
309
The CL commands
*NONE No mode name is specified. SNA-mode-name Specify the SNA Mode Name
310
The CL commands
311
The CL commands
312
The CL commands
*SYSDFTCHL The value of this attribute is taken from the system default channel of the specified type. long-retry-interval Specify a value in the range zero through 999 999 999. Note: For implementation reasons, the maximum retry interval that can be used is 999 999; values exceeding this are treated as 999 999.
313
The CL commands
The possible values are: *SYSDFTCHL The value of this attribute is taken from the system default channel of the specified type. *NONE The user data for the security exit is not specified. security-exit-user-data Specify the user data for the security exit program.
314
The CL commands
*SYSDFTCHL The value of this attribute is taken from the system default channel of the specified type. *NONE The receive exit program is not invoked. receive-exit-name Specify the name of the receive exit program. library-name Specify the name of the library that contains the exit program. This parameter must be present if an exit program name is specified.
315
The CL commands
*NONE The user data for the message exit program is not specified. message-exit-user-data Specify a maximum of 32 characters of user data for the message exit program.
316
The CL commands
317
The CL commands
The possible values are: *SYSDFTCHL The value of this attribute is taken from the system default channel of the specified type. sequence-number-wrap-value Specify a value in the range 100 through 999 999 999.
318
The CL commands
This parameter is valid only for *CLUSSDR and *CLUSRCVR channels. If the CLUSNL parameter is non-blank, this parameter must be blank. The possible values are: *SYSDFTCHL The value of this attribute is taken from the system default channel of the specified type. *NONE No cluster name is specified. cluster-name The name of the cluster to which the channel belongs. The maximum length is 48 characters conforming to the rules for naming MQ objects.
319
The CL commands
*SYSDFTCHL The value of this attribute is taken from the system default channel of the specified type. cipherspec The name of the CipherSpec.
320
The CL commands
the remote channel instance is still active before going in-doubt. A batch heartbeat will occur if a sender-type channel has not communicated with the remote channel within the specified time. This parameter is only valid for *SDR, *SVR, *CLUSSDR and *CLUSRCVR channels. The possible values are: *SYSDFTCHL The value of this attribute is taken from the system default channel of the specified type. batch-heartbeat-interval Specify a value in the range zero through 999 999 999. Note: For implementation reasons, the maximum batch heartbeat interval that can be used is 999 999; values exceeding this are treated as 999 999. A value of zero indicates that batch heartbeating is not to be used.
Password (PASSWORD)
This is used by the message channel agent when attempting to initiate a secure LU 6.2 session with a remote message channel agent. This parameter is valid only for channels with a channel type (CHLTYPE) of *SDR, *SVR, *RQSTR, *CLTCN or *CLUSSDR. Although the maximum length of the attribute is 12 characters, only the first 10 characters are used. The possible values are: *SYSDFTCHL The value of this attribute is taken from the system default channel of the specified type.
321
The CL commands
*NONE No password is specified. Password Specify the password.
322
The CL commands
*SYSDFTCHL The value of this attribute is taken from the system default channel of the specified type. *NONE No message data compression is performed. *RLE Message data compression is performed using run-length encoding.
*ZLIBFAST Message data compression is performed using the zlib compression technique. A fast compression time is preferred. *ZLIBHIGH Message data compression is performed using the zlib compression technique. A high level of compression is preferred. *ANY Any compression technique supported by the queue manager can be used. Only valid for channel types Receiver, Requester and Server-Connection.
323
The CL commands
*QMGR Statistics data collection is based upon the setting of the queue manager attribute STATCHL. *NONE Statistics data collection for this channel is switched off. *LOW Statistics data collection is turned on with a low ratio of data collection. *MEDIUM Statistics data collection is turned on with a moderate ratio of data collection. *HIGH Statistics data collection is turned on with a high ratio of data collection.
324
The CL commands
Parameters
LSRNAME, MQMNAME, REPLACE, TEXT, CONTROL, PORT, IPADDR, BACKLOG
Replace (REPLACE)
If a listener definition with the same name already exists, this specifies whether it is to be replaced. The possible values are: *NO This definition does not replace any existing listener definition with the same name. The command fails if the named listener definition already exists. Replace the existing listener definition. If there is no definition with the same name, a new definition is created.
*YES
325
The CL commands
*SYSDFTLSR The value for this attribute is taken from the system default listener. *MANUAL The listener is not automatically started or stopped. *QMGR The listener is started and stopped as the queue manager is started and stopped. *STARTONLY The listener is started as the queue manager is started, but is not requested to stop when the queue manager is stopped.
IP Address (IPADDR)
The IP address to be used by the listener. The possible values are: *SYSDFTLSR The value for this attribute is taken from the system default listener. ip-addr The IP address to be used.
Parameters
NAMELIST, MQMNAME, REPLACE, TEXT, NAMES
326
The CL commands
Namelist (NAMELIST)
The name of the namelist to be created. namelist Specify the name of the namelist. The maximum length of the string is 48 bytes.
Replace (REPLACE)
Specifies whether the new namelist should replace an existing namelist with the same name. *NO *YES Do not replace the existing namelist. The command fails if the named namelist already exists. Replace the existing namelist. If there is no namelist with the same name, a new namelist is created.
Parameters
PRCNAME, MQMNAME, REPLACE, TEXT, APPTYPE, APPID, USRDATA, ENVDATA
Appendix A. The CL commands
327
The CL commands
Replace (REPLACE)
If a process definition with the same name already exists, this specifies whether it is replaced. The possible values are: *NO This definition does not replace any existing process definition with the same name. The command fails if the named process definition already exists. Replace the existing process definition. If there is no definition with the same name, a new definition is created.
*YES
328
The CL commands
*MVS Represents an MVS application. *IMS *OS2 Represents an IMS application. Represents an OS/2 application.
*DOS Represents a DOS application. *UNIX Represents a UNIX application. *QMGR Represents a queue manager. *OS400 Represents an iSeries application. *WINDOWS Represents a Windows application. *CICS_VSE Represents a CICS/VSE application. *WINDOWS_NT Represents a Windows NT application. *VMS Represents a VMS application. *NSK Represents a Tandem/NSK application. *VOS Represents a VOS application. *IMS_BRIDGE Represents an IMS bridge application. *XCF Represents an XCF application.
*CICS_BRIDGE Represents a CICS bridge application. *NOTES_AGENT Represents a Lotus Notes application. *BROKER Represents a broker application. *JAVA Represents a Java application. *DQM Represents a DQM application. user-value User-defined application type in the range 65 536 through 999 999 999. The values within this range are not tested, and any other value is accepted.
329
The CL commands
application-id The maximum length is 256 characters.
Parameters
QNAME, QTYPE, MQMNAME, REPLACE, TEXT, PUTENBL, DFTPTY, DFTMSGPST, PRCNAME, TRGENBL, GETENBL, SHARE, DFTSHARE, MSGDLYSEQ, HDNBKTCNT, TRGTYPE, TRGDEPTH, TRGMSGPTY, TRGDATA, RTNITV, MAXDEPTH, MAXMSGLEN, BKTTHLD, BKTQNAME, INITQNAME, USAGE, DFNTYPE, TGTQNAME, RMTQNAME, RMTMQMNAME, TMQNAME, HIGHTHLD, LOWTHLD, FULLEVT, HIGHEVT, LOWEVT, SRVITV, SRVEVT, DISTLIST, CLUSTER, CLUSNL, DEFBIND, CLWLRANK, CLWLPRTY, CLWLUSEQ, MONQ, STATQ, ACCTQ, NPMCLASS
330
The CL commands
Note: The field length is 48 bytes and the maximum number of characters is reduced if the system is using a double byte character set (DBCS). The possible values are: queue-name Specify the name of the new queue.
Replace (REPLACE)
Specifies whether the new queue will replace an existing queue definition with the same name and type. The possible values are: *NO *YES Do not replace the existing queue. The command fails if the named queue already exists. Replace the existing queue definition with the attributes of the FROMQ and the specified attributes. The command will fail if an application has the Queue open or the USAGE attribute is changed. Note: If the queue is a local queue, and a queue with the same name already exists, any messages already on that queue are retained.
331
The CL commands
*BLANK The text is set to a blank string. description Specify no more than 64 characters enclosed in apostrophes. Note: The field length is 64 bytes and the maximum number of characters is reduced if the system is using a double byte character set (DBCS).
332
The CL commands
The possible values are: *SYSDFTQ The value of this attribute taken from the system default queue of the specified type. *NONE No process is specified. process-name Specify the name of the process.
333
The CL commands
334
The CL commands
*DEPTH When the number of messages on the queue equals the value of the TRGDEPTH attribute. *NONE No trigger messages are written.
335
The CL commands
trigger-data Specify up to 64 characters enclosed in apostrophes. For a transmission queue you can use this parameter to specify the name of the channel to be started. Note: The field length is 64 bytes and the maximum number of characters is reduced if the system is using a double byte character set (DBCS).
336
The CL commands
The possible values are: *SYSDFTQ The value of this attribute is taken from the system default queue of the specified queue type. length-value Specify a value ranging from 0 through 104 857 600.
Usage (USAGE)
Specifies whether the queue is for normal usage, or for transmitting messages to a remote message queue manager.
Appendix A. The CL commands
337
The CL commands
The possible values are: *SYSDFTQ The value of this attribute is taken from the system default queue of the specified queue type. *NORMAL Normal usage (the queue is not a transmission queue) *TMQ The queue is a transmission queue that is used to hold messages destined for a remote message queue manager. If the queue is intended for use in situations where a transmission queue name is not explicitly specified, the queue name must be the same as the name of the remote message queue manager. For further information, see the WebSphere MQ Intercommunication.
338
The CL commands
339
The CL commands
340
The CL commands
341
The CL commands
A service interval OK event is generated when a check indicates that messages have been retrieved from the queue within the time indicated by the SRVITV parameter. The possible values are: *SYSDFTQ The value of this attribute is taken from the system default queue of the specified type. *HIGH Service Interval High events are generated. *OK *NONE No service interval events are generated. Service Interval OK events are generated.
342
The CL commands
*SYSDFTQ The value of this attribute is taken from the system default queue of the specified type. namelist-name The name of the namelist that specifies a list of clusters to which the queue belongs.
343
The CL commands
*QMGR The value is inherited from the Queue Manager CLWLUSEQ attribute. *LOCAL The local queue will be the sole target of the MQPUT. *ANY The queue manager will treat such a local queue as another instance of the cluster queue for the purposes of workload distribution.
*LOW Monitoring data collection is turned on with a low ratio of data collection. *MEDIUM Monitoring data collection is turned on with a moderate ratio of data collection. *HIGH Monitoring data collection is turned on with a high ratio of data collection.
344
The CL commands
*QMGR Accounting data collection is based upon the setting of the queue manager attribute ACCTQ. *OFF *ON Accounting data collection for this queue is switched off. Accounting data collection is switched on for this queue.
Parameters
SVCNAME, MQMNAME, REPLACE, TEXT, STRCMD, STRARG, ENDCMD, ENDARG, STDOUT, STDERR, TYPE, CONTROL
Replace (REPLACE)
If a service definition with the same name already exists, this specifies whether it is replaced.
345
The CL commands
The possible values are: *NO This definition does not replace any existing service definition with the same name. The command fails if the named service definition already exists. Replace the existing service definition. If there is no definition with the same name, a new definition is created.
*YES
346
The CL commands
*BLANK No end command is executed. end-command The name of the end command executable.
347
The CL commands
*SVR The status of the executable started will be monitored and displayed.
Parameters
FROMFILE, *LIBL, TOFILE, *LIBL, *FROMMBR, RPLTOMBR
348
The CL commands
from-member-name Specifies the name of the member containing the data to convert.
Parameters
MQMNAME
349
The CL commands
Parameters
AINAME, MQMNAME
queue-manager-name The name of an existing message queue manager. The maximum string length is 48 characters.
Parameters
MQMNAME
350
The CL commands
Parameters
CHLNAME, MQMNAME, CHLTYPE
351
The CL commands
Parameters
LSRNAME, MQMNAME
Parameters
NAMELIST, MQMNAME
Namelist (NAMELIST)
The name of the namelist to delete. namelist Specify the name of the namelist. The maximum length of the string is 48 bytes.
Parameters
PRCNAME, MQMNAME
352
The CL commands
Parameters
QNAME, MQMNAME
353
The CL commands
Parameters
SVCNAME, MQMNAME
Disconnect MQ (DSCMQM)
The Disconnect Message Queue Manager (DSCMQM) command does not perform any function and is provided only for compatibility with previous releases of WebSphere MQ and MQSeries.
Parameters
None
Parameters
OUTPUT, MQMNAME
Output (OUTPUT)
Specifies whether the output from the command is shown at the requesting workstation, or printed with the jobs spooled output. The possible values are: * Output requested by an interactive job is shown on the display. Output requested by a batch job is printed with the jobs spooled output.
354
The CL commands
*PRINT The output is printed with the jobs spooled output.
queue-manager-name Specify the name of the queue manager. The name can contain up to 48 characters. The maximum number of characters is reduced if the system is using a double byte character set (DBCS).
Parameters
OBJ, OBJTYPE, USER, OUTPUT, MQMNAME, SRVCOMP
355
The CL commands
*CHL Channel object. *CLTCN Client Connection Channel object. *LSR *SVC Listener object. Service object.
Output (OUTPUT)
Specifies whether the output from the command is shown at the requesting workstation, or printed with the jobs spooled output. The possible values are: * Output requested by an interactive job is shown on the display. Output requested by a batch job is printed with the jobs spooled output.
Authorization-service-component-name The component name of the required authorization service as specified in the Queue Managers qm.ini file.
356
The CL commands
Parameters
AINAME, MQMNAME, OUTPUT
queue-manager-name The name of an existing message queue manager. The maximum string length is 48 characters.
Output (OUTPUT)
Specifies whether the output from the command is shown at the requesting workstation or printed with the jobs spooled output. The possible values are: * Output requested by an interactive job is shown on the display. Output requested by a batch job is printed with the jobs spooled output.
Parameters
MQMNAME
357
The CL commands
Parameters
CHLNAME, OUTPUT, MQMNAME, CHLTYPE
Output (OUTPUT)
Specifies whether the output from the command is shown at the requesting workstation or printed with the jobs spooled output. The possible values are: * Output requested by an interactive job is shown on the display. Output requested by a batch job is printed with the jobs spooled output.
358
The CL commands
*CLUSRCVR Cluster-receiver channel *CLTCN Client-connection channel
Parameters
MQMNAME
Parameters
LSRNAME, MQMNAME, OUTPUT
359
The CL commands
Output (OUTPUT)
Specifies whether the output from the command is shown at the requesting workstation or printed with the jobs spooled output. The possible values are: * Output requested by an interactive job is shown on the display. Output requested by a batch job is printed with the jobs spooled output.
Parameters
NAMELIST, OUTPUT, MQMNAME
Namelist (NAMELIST)
The name of the namelist to be displayed. namelist Specify the name of the namelist. The maximum length of the string is 48 bytes.
Output (OUTPUT)
Specifies whether the output from the command is shown at the requesting workstation or printed with the jobs spooled output. The possible values are: * Output requested by an interactive job is shown on the display. Output requested by a batch job is printed with the jobs spooled output.
360
The CL commands
Parameters
OBJ, OBJTYPE, OUTPUT, MQMNAME
generic*-object-name Specify the generic name of the objects. A generic name is a character string followed by an asterisk (*). For example, ABC*. It selects all objects having names that start with the selected character string. You are recommended to specify the name required within quotation marks. Using this format ensures that your selection is precisely what you entered. You cannot select all the upper case and lower case versions of a generic name on a single panel, without requesting all the names. object-name The name of an object for which the corresponding name and type is to be displayed.
361
The CL commands
*MDLQ All MQ model queues with names specified by OBJ. *RMTQ All MQ remote queues with names specified by OBJ. *AUTHINFO All MQ authentication information objects with names specified by OBJ. *CHL All MQ channel objects with names specified by OBJ. *CLTCN All MQ client connection channel objects with names specified by OBJ. *SVC *LSR *CTLG The MQ queue manager catalog object with name specified by OBJ. This has the same name as the queue manager object. *MQM The Message Queue Manager object with name specified by OBJ. *NMLIST All MQ namelists with names specified by OBJ. *PRC All MQ process definitions with names specified by OBJ. All MQ service objects with names specified by OBJ. All MQ listener objects with names specified by OBJ.
Output (OUTPUT)
Specifies whether the output from the command is shown at the requesting workstation, or printed with the jobs spooled output. The possible values are: * Output requested by an interactive job is shown on the display. Output requested by a batch job is printed with the jobs spooled output.
362
The CL commands
Parameters
PRCNAME, OUTPUT, MQMNAME
Output (OUTPUT)
Specifies whether the output from the command is shown at the requesting workstation or printed with the jobs spooled output. The possible values are: * Output requested by an interactive job is shown on the display. Output requested by a batch job is printed with the jobs spooled output.
Parameters
QNAME, OUTPUT, MQMNAME
Output (OUTPUT)
Specifies whether the output from the command is shown at the requesting work station, or printed with the jobs spooled output. The possible values are:
Appendix A. The CL commands
363
The CL commands
* Output requested by an interactive job is shown on the display. Output requested by a batch job is printed with the jobs spooled output.
Parameters
QNAME, MQMNAME, CRRLID, MSGPST, MSGPRTY, OPTION, RPLYQ, RPLYMQM, EXPIRY, EXPRPT, RTEINF, RPLYMSG, DLVRMSG, FWDMSG, MAXACTS, DETAIL, BROWSE, DSPMSG, TGTMQM, DSPINF, WAIT
364
The CL commands
correlation-identifier The 48 character hexadecimal string representing the 24 byte CorrelId.
365
The CL commands
parameter is also specified. The reply queue should not be a temporary queue if the trace route message is to be persistent. The possible values are: *DFT The SYSTEM.DEFAULT.MODEL.QUEUE is used and the reply queue is by default a temporary dynamic queue.
expiry-time The expiry time of the message ranging from 0 through 999999999.
366
The CL commands
*NO *YES No reply message is returned. A reply message is returned to the the reply to queue.
*YES
367
The CL commands
*MEDIUM Low detail information, as well as information on the movements of the message within the queue manager is requested. This includes the work of the MCA. *HIGH Low and medium detail, as well as more detailed information about the route the message took is requested. For example, in clustering this might include detail about why the route was chosen.
target-queue-manager The target queue manager for the trace route message.
*SUMMARY Displays only the queues which the message was routed through. *NONE None of the available information will be displayed.
368
The CL commands
*ACTGRP All non-group parameters in the Activity groups will be displayed. *ID Values with parameters identifiers MQBACF_MSG_ID or MQBACF_CORREL_ID are always displayed. This overrides *MSGDELTA which normally prevents certain values in the Message groups from being displayed.
*MSGGRP All non-group parameters in the Message groups are displayed. *MSGDELTA Like *MSGGRP, except that information in the Message groups is only displayed where it has changed since the last operation took place. *OPGRP All non-group parameters in the Operation groups are displayed. *TRGRP All parameters in the TraceRoute groups are displayed.
Parameters
MQMNAME, OUTPUT
queue-manager-name Specify the name of the queue manager. The name can contain up to 48 characters. The maximum number of characters is reduced if the system is using a double byte character set (DBCS).
Output (OUTPUT)
Specifies whether the output from the command is shown at the requesting workstation, or printed with the jobs spooled output.
Appendix A. The CL commands
369
The CL commands
The possible values are: * Output requested by an interactive job is shown on the display. Output requested by a batch job is printed with the jobs spooled output.
Parameters
SVCNAME, MQMNAME, OUTPUT
Output (OUTPUT)
Specifies whether the output from the command is shown at the requesting work station or printed with the jobs spooled output. The possible values are: * Output requested by an interactive job is shown on the display. Output requested by a batch job is printed with the jobs spooled output.
Parameters
OUTPUT
370
The CL commands
Output (OUTPUT)
Specifies whether the output from the command is shown at the requesting workstation, or printed with the jobs spooled output. The possible values are: * Output requested by an interactive job is shown on the display. Output requested by a batch job is printed with the jobs spooled output.
Parameters
MQMNAME, OPTION, ENDCCTJOB, RCDMQMIMG, TIMEOUT
Option (OPTION)
Specifies whether processes that are connected to the queue manager are allowed to complete. The possible values are: *CNTRLD Allow programs currently being processed to complete. An MQCONN call (or an MQOPEN or MQPUT1, which perform an implicit connection) fails. If ENDCCTJOB(*YES) is specified, a controlled shutdown of the queue manager is attempted ten times. If the queue manager shuts down successfully, it is followed by immediate termination of the processes that are still connected to it. *IMMED End the queue manager immediately. All current MQI calls complete, but subsequent requests for MQI calls fail. Incomplete units of work are rolled back when the queue manager is next started. If ENDCCTJOB(*YES) is specified, a controlled shutdown of the queue manager is followed if
Appendix A. The CL commands
371
The CL commands
necessary, after an interval of TIMEOUT seconds, by an immediate shutdown of the queue manager. This is followed by immediate termination of processes connected to it. *WAIT End the queue manager in the same way as the *CNTRLD option. However, control is returned only after the queue manager has stopped. This option is not allowed with MQMNAME(*ALL). If ENDCCTJOB(*YES) is specified, a single controlled shutdown of the queue manager is issued, which waits for all processes to disconnect. When this completes it is followed by the actions described in the ENDCCTJOB parameter. *PREEMPT Use this type of shutdown only in exceptional circumstances The queue manager stops without waiting for applications to disconnect or for MQI calls to complete. This can give unpredictable results for WebSphere MQ applications. All processes in the queue manager that fail to stop are ended 30 seconds after the command is issued. This option is not allowed with ENDCCTJOB(*YES).
372
The CL commands
Parameters
MQMNAME, OPTION
Option (OPTION)
Specifies how the broker is ended. The possible values are: *CNTRLD Allows the broker to complete processing for any message that it has already started. *IMMED Ends the broker immediately. The broker does not attempt any further gets or puts, and backs out any in-flight units-of-work. This might mean that a nonpersistent input message is published only to a subset of subscribers, or lost, depending on the broker configuration parameters.
Parameters
CHLNAME, OPTION, MQMNAME, STATUS, CONNAME, RQMNAME
373
The CL commands
channel-name Specify the channel name.
Option (OPTION)
Specifies whether processing for the current batch of messages is allowed to finish in a controlled manner. The possible values are: *CNTRLD Allows processing of the current batch of messages to complete. No new batch is allowed to start. *IMMED Ends processing of the current batch of messages immediately. This is likely to result in in-doubt situations. *ABNORMAL Ends processing of the current batch of messages immediately and terminates the channel thread or job. This is likely to result in in-doubt situations.
374
The CL commands
Parameters
CONN, MQMNAME
Parameters
MQMNAME, OPTION
Option (OPTION)
Specifies whether or not the command message currently being processed is allowed to complete. The possible values are: *CNTRLD Allows the command server to complete processing any command message that it has already started. No new message is read from the queue. *IMMED Ends the command server immediately. Any action associated with a command message currently being processed might not be completed.
375
The CL commands
Parameters
MQMNAME, PORT, OPTION, LSRNAME
Option (OPTION)
Specifies the action taken after processes to end the listeners have been started. *CNTRLD Processes are started to end all the listeners for the specified queue manager and control is returned before the listeners actually end. *WAIT End the listeners for the specified queue manager in the same way as the *CNTRLD option. However, control is returned only after all the listeners have ended.
Parameters
SVCNAME, MQMNAME
376
The CL commands
Parameters
OBJ, OBJTYPE, USER, AUT, MQMNAME, SRVCOMP
object-name Specify the name of an MQ object for which specific authority is given to one or more users. generic profile Specify the generic profile of the objects to be selected. A generic profile is a character string containing one or more generic characters anywhere in
377
The CL commands
the string. This profile is used to match the object name of the object under consideration at the time of use. The generic characters are (?), (*) and (**). ? matches a single character in an object name. * matches any string contained within a qualifier, where a qualifier is the string between fullstops (.). For example ABC* matches ABCDEF but not ABCDEF.XYZ. ** matches one or more qualifiers. For example ABC.**.XYZ matches ABC.DEF.XYZ and ABC.DEF.GHI.XYZ, ** can only appear once in a generic profile. You are recommended to specify the name required within quotation marks. Using this format ensures that your selection is precisely what you entered.
*CHL Channel object. *CLTCN Client Connection Channel object. *LSR *SVC Listener object. Service object.
378
The CL commands
user-profile-name Specify the names of one or more users who are to be granted specific authority for the object. You can specify up to 50 user profile names.
Authority (AUT)
Specifies the authority being given to the named users. Values for AUT can be specified as a list of specific and general authorities in any order, where the general authorities can be: *NONE, which creates a profile for the user with no authority to the specified object, or leaves the authority unchanged if a profile already exists. *ALL, which confers all authorities to the specified users. *ALLADM, which confers all of *ADMCHG, *ADMCLR, *ADMCRT, *ADMDLT, *ADMDSP, *CTRL and *CTRLX. *ALLMQI, which confers all of *ALTUSR, *BROWSE, *CONNECT, *GET, *INQ, *PUT, and *SET. Authorizations for different object types *ALL All authorizations. Applies to all objects.
*ADMCHG Change an object. Applies to all objects. *ADMCLR Clear a queue. Applies to queues only. *ADMCRT Create an object. Applies to all objects. *ADMDLT Delete an object. Applies to all objects. *ADMDSP Display the attributes of an object. Applies to all objects. *ALLADM Perform administration operations on an object. Applies to all objects. *ALLMQI Use all MQI calls applicable to an object. Applies to all objects. *ALTUSR Allow another users authority to be used for MQOPEN and MQPUT1 calls. Applies to queue manager objects only. *BROWSE Retrieve a message from a queue by issuing an MQGET call with the BROWSE option. Applies to queue objects only. *CONNECT Connect the application to a queue manager by issuing an MQCONN call. Applies to queue manager objects only. *CTRL Control startup and shutdown of channels, listeners and services. *CTRLX Reset sequence number and resolve indoubt channels.
Appendix A. The CL commands
379
The CL commands
*GET *INQ Retrieve a message from a queue using an MGET call. Applies to queue objects only. Make an inquiry on an object using an MQINQ call. Applies to all objects.
*PASSALL Pass all context on a queue. Applies to queue objects only. *PASSID Pass identity context on a queue. Applies to queue objects only. *PUT *SET Put a message on a queue using an MQPUT call. Applies to queue objects only. Set the attributes of an object using an MQSET call. Applies to queue, queue manager, and process objects only.
*SETALL Set all context on an object. Applies to queue and queue manager objects only. *SETID Set identity context on an object. Applies to queue and queue manager objects only. Authorizations for MQI calls *ALTUSR Allow another users authority to be used for MQOPEN and MQPUT1 calls. *BROWSE Retrieve a message from a queue by issuing an MQGET call with the BROWSE option. *CONNECT Connect the application to the specified queue manager by issuing an MQCONN call. *GET *INQ *PUT *SET Retrieve a message from a queue by issuing an MQGET call. Make an inquiry on a specific queue by issuing an MQINQ call. Put a message on a specific queue by issuing an MQPUT call. Set attributes on a queue from the MQI by issuing an MQSET call.
If you open a queue for multiple options, you must be authorized for each of them. Authorizations for context *PASSALL Pass all context on the specified queue. All the context fields are copied from the original request. *PASSID Pass identity context on the specified queue. The identity context is the same as that of the request. *SETALL Set all context on the specified queue. This is used by special system utilities.
380
The CL commands
*SETID Set identity context on the specified queue. This is used by special system utilities. Authorizations for MQSC and PCF commands *ADMCHG Change the attributes of the specified object. *ADMCLR Clear the specified queue (PCF Clear queue command only). *ADMCRT Create objects of the specified type. *ADMDLT Delete the specified object. *ADMDSP Display the attributes of the specified object. *CTRL Control startup and shutdown of channels, listeners and services. *CTRLX Reset sequence number and resolve indoubt channels. Authorizations for generic operations *ALL Use all operations applicable to the object.
*ALLADM Perform all administration operations applicable to the object. *ALLMQI Use all MQI calls applicable to the object.
Authorization-service-component-name The component name of the required authorization service as specified in the Queue Managers qm.ini file.
381
The CL commands
Parameters
CHLNAME, MQMNAME, DATACNT, CNT
Count (CNT)
Specifies the number of times that the channel is to be pinged. The possible values are: 1 The channel is pinged once. ping-count Specify a value ranging from 1 through 16.
382
The CL commands
This command is intended to enable journal receivers, detached prior to the current date, to be disconnected. On successful completion of this command those journals are no longer required to be present for a Recreate MQ Object (RCRMQMOBJ) command on this set of MQM Objects to succeed.
Parameters
OBJ, OBJTYPE, MQMNAME, DSPJRNDTA
generic*-object-name Specify the generic name of the objects to be recorded. A generic name is a character string followed by an asterisk (*). For example, ABC*. It selects all objects that have names which start with the character string. You are recommended to specify the name required within quotation marks. Using this format ensures that your selection is precisely what you entered. You cannot select all the upper case and lower case versions of a generic name on a single panel, without requesting all the names. object-name The name of an MQ object to be recorded.
383
The CL commands
*MQM Specifies the Message Queue Manager object. *CHL Specifies MQ channel objects with names specified by OBJ. *CLTCN Specifies MQ client connection channel objects with names specified by OBJ. *NMLIST Specifies MQ namelist objects with names specified by OBJ. *PRC *LSR *SVC Specifies MQ process objects with names specified by OBJ. Specifies MQ listener objects with names specified by OBJ. Specifies MQ service objects with names specified by OBJ.
Parameters
OBJ, OBJTYPE, MQMNAME
384
The CL commands
*ALL All damaged MQ objects of the specified type (OBJTYPE) are recreated.
generic*-object-name Specify the generic name of the objects to be recreated. A generic name is a character string followed by an asterisk (*). For example, ABC*. It selects all objects that have names that start with the character string. You are recommended to specify the name required within quotation marks. Using this format ensures that your selection is precisely what you entered. You cannot select all the upper case and lower case versions of a generic name on a single panel, without requesting all the names. object-name The name of an MQ object to be recreated if it is damaged.
385
The CL commands
*LSR *SVC Specifies MQ listener objects with names specified by OBJ. Specifies MQ service objects with names specified by OBJ.
*SYNCFILE Specifies the MQ channel synchronisation file. *SYNCFILE Specifies the MQ client channel table file.
Parameters
MQMNAME, TYPE
386
The CL commands
Parameters
CLUSTER, MQMNAME, REPOS
Parameters
CLUSTER, CLUSNL, MQMNAME
387
The CL commands
namelist Specify the name of the namelist.
Parameters
CHLNAME, MSGSEQNUM, MQMNAME
message-sequence-number Specify the new message sequence number ranging from 1 through 999 999 999.
388
The CL commands
message-queue-manager-name The name of a message queue manager.
Parameters
CLUSTER, QMNAME, ACTION, MQMNAME, QUEUES, QMID
Action (ACTION)
Specifies the action to take on the specified queue manager. *FRCRMV Requests that the queue manager is forcibly removed from the cluster. This might be needed to ensure proper cleanup after a queue manager has been deleted. This action can be requested by a repository queue manager only.
389
The CL commands
Parameters
CHLNAME, OPTION, MQMNAME
390
The CL commands
RUNMQSC (RUNMQSC)
The Run WebSphere MQ Commands (RUNMQSC) command allows you to issue MQSC commands interactively for the specified queue manager.
Parameters
MQMNAME
Parameters
OBJ, OBJTYPE, USER, AUT, MQMNAME, SRVCOMP
object-name Specify the name of an MQ object for which specific authority is given to one or more users. generic profile Specify the generic profile of the objects to be selected. A generic profile is a character string containing one or more generic characters anywhere in the string. This profile is used to match the object name of the object under consideration at the time of use. The generic characters are (?), (*) and (**). ? matches a single character in an object name. * matches any string contained within a qualifier, where a qualifier is the string between fullstops (.). For example ABC* matches ABCDEF but not ABCDEF.XYZ. ** matches one or more qualifiers. For example ABC.**.XYZ matches ABC.DEF.XYZ and ABC.DEF.GHI.XYZ, ** can only appear once in a generic profile.
391
The CL commands
You are recommended to specify the name required within quotation marks. Using this format ensures that your selection is precisely what you entered.
*CHL Channel object. *CLTCN Client Connection Channel object. *LSR *SVC Listener object. Service object.
392
The CL commands
specifically taken away from each identified user. This parameter cannot be used to remove public authority from specific users; only authorities that were specifically given to them can be specifically revoked. You can specify up to 50 user profile names.
Authority (AUT)
Specifies the authority being reset or taken away from the users specified in the USER parameter. You can specify values for AUT as a list of specific and general authorities in any order, where the general authorities can be: *REMOVE, which deletes the profile. It is not the same as *ALL, because *ALL leaves the profile in existence with no authorities. *REMOVE cannot be specified with user QMQMADM unless the object is a generic profile. *ALL, which confers all authorities to the specified users. *ALLADM, which confers all of *ADMCHG, *ADMCLR, *ADMCRT, *ADMDLT, *ADMDSP, *CTRL and *CTRLX. *ALLMQI, which confers all of *ALTUSR, *BROWSE, *CONNECT, *GET, *INQ, *PUT, and *SET. Authorizations for different object types *ALL All authorizations. Applies to all objects.
*ADMCHG Change an object. Applies to all objects. *ADMCLR Clear a queue. Applies to queues only. *ADMCRT Create an object. Applies to all objects. *ADMDLT Delete an object. Applies to all objects. *ADMDSP Display the attributes of an object. Applies to all objects. *ALLADM Perform administration operations on an object. Applies to all objects. *ALLMQI Use all MQI calls applicable to an object. Applies to all objects. *ALTUSR Allow another users authority to be used for MQOPEN and MQPUT1 calls. Applies to queue manager objects only. *BROWSE Retrieve a message from a queue by issuing an MQGET call with the BROWSE option. Applies to queue objects only. *CONNECT Connect the application to a queue manager by issuing an MQCONN call. Applies to queue manager objects only. *CTRL Control startup and shutdown of channels, listeners and services.
Appendix A. The CL commands
393
The CL commands
*CTRLX Reset sequence number and resolve indoubt channels. *GET *INQ Retrieve a message from a queue using an MGET call. Applies to queue objects only. Make an inquiry on an object using an MQINQ call. Applies to all objects.
*PASSALL Pass all context on a queue. Applies to queue objects only. *PASSID Pass identity context on a queue. Applies to queue objects only. *PUT *SET Put a message on a queue using an MQPUT call. Applies to queue objects only. Set the attributes of an object using an MQSET call. Applies to queue, queue manager, and process objects only.
*SETALL Set all context on an object. Applies to queue and queue manager objects only. *SETID Set identity context on an object. Applies to queue and queue manager objects only. Authorizations for MQI calls *ALTUSR Allow another users authority to be used for MQOPEN and MQPUT1 calls. *BROWSE Retrieve a message from a queue by issuing an MQGET call with the BROWSE option. *CONNECT Connect the application to the specified queue manager by issuing an MQCONN call. *GET *INQ *PUT *SET Retrieve a message from a queue by issuing an MQGET call. Make an inquiry on a specific queue by issuing an MQINQ call. Put a message on a specific queue by issuing an MQPUT call. Set attributes on a queue from the MQI by issuing an MQSET call.
If you open a queue for multiple options, you must be authorized for each of them. Authorizations for context *PASSALL Pass all context on the specified queue. All the context fields are copied from the original request. *PASSID Pass identity context on the specified queue. The identity context is the same as that of the request.
394
The CL commands
*SETALL Set all context on the specified queue. This is used by special system utilities. *SETID Set identity context on the specified queue. This is used by special system utilities. Authorizations for MQSC and PCF commands *ADMCHG Change the attributes of the specified object. *ADMCLR Clear the specified queue (PCF Clear queue command only). *ADMCRT Create objects of the specified type. *ADMDLT Delete the specified object. *ADMDSP Display the attributes of the specified object. *CTRL Control startup and shutdown of channels, listeners and services. *CTRLX Reset sequence number and resolve indoubt channels. Authorizations for generic operations *ALL Use all operations applicable to the object.
*ALLADM Perform all administration operations applicable to the object. *ALLMQI Use all MQI calls applicable to the object. *REMOVE Delete the authority profile to the specified object.
Authorization-service-component-name The component name of the required authorization service as specified in the Queue Managers qm.ini file.
Appendix A. The CL commands
395
The CL commands
Parameters
CLUSTER, CLUSNL, MQMNAME, MODE
Mode (MODE)
Specifies how the suspension of availability is to take effect: *QUIESCE Other queue managers in the cluster are advised that the local queue manager should not be sent further messages. *FORCE All inbound and outbound channels to other queue managers in the cluster are stopped forcibly.
Parameters
MQMNAME, RDEFSYS, STRSTSDTL, STRSVC, REPLAY, ACTIV ATE
396
The CL commands
*DFT Use the default queue manager.
queue-manager-name Specify the name of the queue manager. The name can contain up to 48 characters. The maximum number of characters is reduced if the system is using a double byte character set (DBCS).
397
The CL commands
*NO *YES The Queue Manager is not to be marked as active. The Queue Manager is to be marked as active. Once a Queue Manager has been activated then it can be started as a normal Queue Manager using the STRMQM command without the REPLAY and ACTIVATE options.
Parameters
MQMNAME, PARENTMQM
Parameters
CHLNAME, MQMNAME
398
The CL commands
Parameters
QNAME, MQMNAME
Parameters
MQMNAME
Appendix A. The CL commands
399
The CL commands
Parameters
UDLMSGQ, SRCMBR, SRCFILE, QTXTSRC, MQMNAME
undelivered-message-queue-name Specify the name of the local undelivered-message queue to be used. If this option is specified, the INPUTQ keyword stated in the rules table will be overridden by the stated undelivered-message queue. *NONE The queue that is named by the INPUTQ keyword in the rules table is used, or the system-default dead-letter queue if the INPUTQ keyword in the rules table is blank.
400
The CL commands
source-member-name Specify the name of the source member.
queue-manager-name Specify the name of the queue manager. The name can contain up to 48 characters. The maximum number of characters is reduced if the system is using a double byte character set (DBCS). *NONE The queue manager that is named by the INPUTQM keyword in the rules table is used, or the system-default queue manger if the INPUTQM keyword in the rules table is blank.
Parameters
PORT, MQMNAME, IPADDR, BACKLOG, LSRNAME
401
The CL commands
*DFT Port number 1414 is used.
IP Address (IPADDR)
The IP address to be used by the listener. The possible values are: *DFT ip-addr The IP address to be used. The listener will listen on all IP addresses available to the TCP/IP stack.
402
The CL commands
v A summary report at the end.
Parameters
SRCMBR, SRCFILE, QMQSC, OPTION, WAIT, MQMNAME
Option (OPTION)
Specifies how the MQSC commands are to be processed. The possible values are: *RUN If this value is specified and a value for the WAIT parameter is not specified the MQSC commands are processed directly by the local queue manager. If this value is specified and a value is also specified for the WAIT parameter the MQSC commands are processed indirectly by a remote queue manager, *VERIFY The MQSC commands are verified and a report is written, but the commands are not run. *MVS The MQSC commands are processed indirectly by a remote queue manager running under MVS/ESA. If you specify this option you must also specify a value for the WAIT parameter.
403
The CL commands
Parameters
SVCNAME, MQMNAME
404
The CL commands
Parameters
INITQNAME, MQMNAME
Trace MQ (TRCMQM)
The Trace MQ (TRCMQM) command controls tracing for all MQ jobs. TRCMQM, which sets tracing on or off, can trace message queue interface (MQI) functions, function flow, and WebSphere MQ for iSeries components together with any messages issued by WebSphere MQ.
Parameters
TRCEARLY, SET, OUTPUT, TRCLEVEL, TRCTYPE, EXCLUDE, MAXSTG, DATASIZE, MQMNAME
405
The CL commands
For TRCEARLY(*NO), the collection of trace records will not be started until after the queue manager is available. *OFF The collection of trace records is stopped. Trace records are written to files in /QIBM/UserData/mqm/trace
*END The collection of trace records is stopped for all queue managers.
Output (OUTPUT)
Identifies the type of trace output that this command applies. The possible values are: *MQM This command applies to the collection of WebSphere MQ trace output in the /QIBM/UserData/mqm/trace IFS directory. *PEX *ALL This command applies to the collection of Performance Explorer (PEX) trace output. This option applies to the collection of all trace output.
*DETAIL Activates tracing at high-detail level for flow processing trace points. *PARMS Activates tracing at default-detail level for flow processing trace points.
trace-type-list You can specify more than one option from the following keywords, but each option can appear only once. *API Output data for trace points associated with the MQI and major queue manager components.
*CMTRY Output data for trace points associated with comments in the MQ components. *COMMS Output data for trace points associated with data flowing over communications networks.
406
The CL commands
*CSDATA Output data for trace points associated with internal data buffers in common services. *CSFLOW Output data for trace points associated with processing flow in common services. *LQMDATA Output data for trace points associated with internal data buffers in the local queue manager. *LQMFLOW Output data for trace points associated with processing flow in the local queue manager. *OTHDATA Output data for trace points associated with internal data buffers in other components. *OTHFLOW Output data for trace points associated with processing flow in other components. *RMTDATA Output data for trace points associated with internal data buffers in the communications component. *RMTFLOW Output data for trace points associated with processing flow in the communications component. *SVCDATA Output data for trace points associated with internal data buffers in the service component. *SVCFLOW Output data for trace points associated with processing flow in the service component. *VSNDATA Output data for trace points associated with the version of WebSphere MQ running.
trace-type-list You can specify more than one option from the following keywords, but each option can appear only once. *API Output data for trace points associated with the MQI and major queue manager components.
407
The CL commands
*CMTRY Output data for trace points associated with comments in the MQ components. *COMMS Output data for trace points associated with data flowing over communications networks. *CSDATA Output data for trace points associated with internal data buffers in common services. *CSFLOW Output data for trace points associated with processing flow in common services. *LQMDATA Output data for trace points associated with internal data buffers in the local queue manager. *LQMFLOW Output data for trace points associated with processing flow in the local queue manager. *OTHDATA Output data for trace points associated with internal data buffers in other components. *OTHFLOW Output data for trace points associated with processing flow in other components. *RMTDATA Output data for trace points associated with internal data buffers in the communications component. *RMTFLOW Output data for trace points associated with processing flow in the communications component. *SVCDATA Output data for trace points associated with internal data buffers in the service component. *SVCFLOW Output data for trace points associated with processing flow in the service component. *VSNDATA Output data for trace points associated with the version of WebSphere MQ running.
408
The CL commands
Parameters
MQMNAME
409
The CL commands
generic*-queue-manager-name Specify the generic name of the queue managers to select. A generic name is a character string followed by an asterisk (*), for example ABC*, and it selects all queue managers having names that start with the character string. The name can contain up to 48 characters. The maximum number of characters is reduced if the system is using a double byte character set (DBCS). Note: You are recommended to specify the name required within quotation marks. Using this format ensures that your selection is precisely what you entered. You cannot select all the upper case and lower case versions of a generic name on a single panel, without requesting all the names. queue-manager-name Specify the name of the queue manager. The name can contain up to 48 characters. The maximum number of characters is reduced if the system is using a double byte character set (DBCS).
Parameters
OBJ, OBJTYPE, OUTPUT, MQMNAME, SRVCOMP
object-name Specify the name of an MQ object; all authority records whose object name or generic profile name match this object name are selected. generic profile Specify the generic profile of an MQ object; only the authority record which exactly matches the generic profile is selected. A generic profile is a character string containing one or more generic characters anywhere in the string. The generic characters are (?), (*) and (**). You are recommended to specify the name required within quotation marks. Using this format ensures that your selection is precisely what you entered.
410
The CL commands
*AUTHINFO Authentication Information object. *MQM Message Queue Manager. *NMLIST Namelist object. *PRC Process definition.
*CHL Channel object. *CLTCN Client Connection Channel object. *LSR *SVC Listener object. Service object.
Output (OUTPUT)
Specifies whether the output from the command is shown at the requesting work station, or printed with the jobs spooled output. The possible values are: * Output requested by an interactive job is shown on the display. Output requested by a batch job is printed with the jobs spooled output.
*PRINT A detailed list of the users and their authorities registered with the selected authority profile record is printed with the jobs spooled output.
Authorization-service-component-name The component name of the authorization service as specified in the Queue Managers qm.ini file.
411
The CL commands
Parameters
OBJ, OBJTYPE, USER, MQMNAME, SRVCOMP
*AUTHINFO Authentication Information object. *MQM Message Queue Manager. *NMLIST Namelist object. *PRC Process definition.
*CHL Channel object. *CLTCN Client Connection Channel object. *LSR *SVC Listener object. Service object.
*PUBLIC The user name implying all users of the system. user-profile-name Specify the name of the user.
412
The CL commands
*DFT Use the default queue manager.
Authorization-service-component-name The component name of the authorization service as specified in the Queue Managers qm.ini file.
Parameters
AINAME, MQMNAME, WHERE
413
The CL commands
queue-manager-name The name of an existing message queue manager. The maximum string length is 48 characters.
*CONNAME The address of the host on which the LDAP server is running. The filter value is the address name. *TEXT Descriptive comment. The filter value is the text description of the queue. *USERNAME The distinguished name of the user. The filter value is the distinguised name.
Parameters
CHLNAME, CHLTYPE, MQMNAME, STATUS, WHERE
414
The CL commands
generic*-channel-name Specify the generic name of the channel definitions to be selected. A generic name is a character string followed by an asterisk (*). For example ABC*, it selects all channel definitions having names that start with the character string. You are recommended to specify the name required within quotation marks. Using this format ensures that your selection is precisely what you entered. You cannot select all the upper case and lower case versions of a generic name on a single panel, without requesting all the names. channel-name Specify the name of the channel definition.
*SDR Sender channel *SVR *RCVR Receiver channel *RQSTR Requester channel *SVRCN Server-connection channel *CLUSSDR Cluster-sender channel *CLUSRCVR Cluster-receiver channel *CLTCN Client-connection channel Server channel
415
The CL commands
message-queue-manager-name The name of a message queue manager.
*INACTIVE Only channels with an inactive status are selected. *STOPPED Only channels with a stopped status are selected. *BINDING Only channels with a binding status are selected. *RETRYING Only channels with a retrying status are selected. *RUNNING Only channels with a running status are selected.
416
The CL commands
*CLWLRANK Cluster workload rank. The filter value is the integer rank. *CLWLPRTY Cluster workload priority. The filter value is the integer priority. *CLWLWGHT Cluster workload weight. The filter value is the integer weight. *COMPHDR Header compression. The filter value is one of the following: *NONE No header data compression is performed. *SYSTEM Header data compression is performed.
*COMPMSG Message compression. The filter value is one of the following: *NONE No message data compression is performed. *RLE Message data compression is performed using RLE.
*ZLIBHIGH Message data compression is performed using ZLIB compression. A high level of compression is preferred. *ZLIBFAST Message data compression is performed using ZLIB compression. A fast compression time is preferred. *ANY Any compression technique supported by the queue manager can be used.
*CONNAME Remote connection name. The filter value is the connection name string. *CVTMSG Whether the message is converted before transmission. The filter value is one of the following: *YES *NO The application data in the message is converted before sending. The application data in the message is not converted before sending.
417
The CL commands
*DSCITV Disconnect interval in seconds. The filter value is the integer interval time. *HRTBTINTVL Heartbeat interval in seconds. The filter value is the integer interval time. *KAINT Keep alive interval in seconds. The filter value is the integer interval time. *LOCLADDR Local connection name. The filter value is the connection name string. *LONGRTY Long retry count. The filter value is the integer count. *LONGTMR Long retry interval in seconds. The filter value is the integer interval time. *MAXMSGLEN Maximum message length. The filter value is the integer length. *MCANAME Message channel agent name. The filter value is the agent name. *MCATYPE Whether the message channel agent program should run as a thread or process. The filter value is one of the following: *PROCESS The message channel agent runs as a separate process. *THREAD The message channel agent runs as a separate thread.
*MCAUSRID Message channel agent user identifier. The filter value is the user identifier string. *MODENAME SNA mode name. The filter value is the mode name string. *MONCHL Channel Monitoring. The filter value is one of the following:
418
The CL commands
*QMGR The collection of Online Monitoring Data is inherited from the setting of the queue manager attribute MONCHL. *OFF Online Monitoring Data collection for this channel is switched off.
*LOW Monitoring data collection is turned on with a low ratio of data collection. *MEDIUM Monitoring data collection is turned on with a moderate ratio of data collection. *HIGH Monitoring data collection is turned on with a high ratio of data collection.
*MSGEXIT Message exit name. The filter value is the exit name. *MSGRTYDATA Message retry exit user data. The filter value is the user data string. *MSGRTYEXIT Message retry exit name. The filter value is the exit name. *MSGRTYITV Message retry interval interval in seconds. The filter value is the integer interval time. *MSGRTYNBR Number of message retries. The filter value is the integer number of retries. *MSGUSRDATA Message exit user data. The filter value is the user data string. *NETPRTY Network connection priority ranging from 0 through 9. The filter value is the integer priority value. *NPMSPEED Whether the channel supports fast nonpersistent messages. The filter value is one of the following: *FAST The channel supports fast nonpersistent messages. *NORMAL The channel does not support fast nonpersistent messages.
419
The CL commands
The filter value is one of the following: *DFT *CTX No authority check is made before the message is put on the destination queue. The user identifier in the message context information is used to establish authority to put the message.
*RCVEXIT Receive exit name. The filter value is the exit name. *RCVUSRDATA Receive exit user data. The filter value is the user data string. *SCYEXIT Security exit name. The filter value is the exit name. *SCYUSRDATA Security exit user data. The filter value is the user data string. *SEQNUMWRAP Maximum message sequence number. The filter value is the integer sequence number. *SHORTRTY Short retry count. The filter value is the integer count. *SHORTTMR Short retry interval in seconds. The filter value is the integer interval time. *SNDEXIT Send exit name. The filter value is the exit name. *SNDUSRDATA Send exit user data. The filter value is the user data string. *SSLCAUTH Whether the channel should carry out client authentication over SSL. The filter value is one of the following: *REQUIRED Client authentication is required. *OPTIONAL Client authentication is optional.
420
The CL commands
*SSLCIPH The CipherSpec using in SSL channel negotiation. The filter value is the name of the CipherSpec. *SSLPEER The X500 peer name used in SSL channel negotiation. The filter value is the peer name. *STATCHL Channel Statistics. The filter value is one of the following: *QMGR The collection of statistics data is inherited from the setting of the queue manager attribute STATCHL. *OFF Statistics data collection for this channel is switched off.
*LOW Statistics data collection is turned on with a low ratio of data collection. *MEDIUM Statistics data collection is turned on with a moderate ratio of data collection. *HIGH Statistics data collection is turned on with a high ratio of data collection.
*TEXT Descriptive comment. The filter value is the text description of the channel. *TGTMQMNAME Target queue manager name. The filter value is the target queue manager of the channel. *TMQNAME Transmission queue name. The filter value is the name of the queue. *TPNAME The SNA transaction program name. The filter value is the program name string. *TRPTYPE Transport type. The filter value is one of the following: *TCP Transmission Control Protocol/Internet Protocol (TCP/IP).
*USERID Task user identifier. The filter value is the user identifier string.
Appendix A. The CL commands
421
The CL commands
Parameters
CHLNAME, CONNAME, TMQNAME, MQMNAME, CHLSTS, WHERE
generic*-channel-name Specify the generic name of the channel definitions to be selected. A generic name is a character string followed by an asterisk (*). For example ABC*, it selects all channel definitions having names that start with the character string. You are recommended to specify the name required within quotation marks. Using this format ensures that your selection is precisely what you entered. You cannot select all the upper case and lower case versions of a generic name on a single panel, without requesting all the names. channel-name Specify the name of the channel definition.
generic*-connection-name Specify the generic connection name of the required channels. connection-name Specify the connection name of the required channels.
generic*-transmission-queue-name Specify the generic name of the transmission queues. transmission-queue-name Specify the name of the transmission queue. A transmission queue name is required if the channel definition type (CHLTYPE) is *SDR or *SVR.
422
The CL commands
*CHLTYPE The type of channel. The filter value is one of the following: *SDR Sender channel. *SVR *RCVR Receiver channel. *RQSTR Requester channel.
Appendix A. The CL commands
Server channel.
423
The CL commands
*CLUSSDR Cluster-sender channel. *CLUSRCVR Cluster-receiver channel. *SVRCN Server-connection channel.
*COMPHDR Whether the channel performs header data compression. The filter value is one of the following: *NONE No header data compression is performed. *SYSTEM Header data compression is performed.
*COMPMSG Whether the channel performs message data compression. The filter value is one of the following: *NONE No message data compression is performed. *RLE Message data compression is performed using RLE.
*ZLIBHIGH Message data compression is performed using ZLIB compression. A high level of compression is preferred. *ZLIBFAST Message data compression is performed using ZLIB compression. A fast compression time is preferred.
*CONNAME The connection name of the channel. The filter value is the connection name string. *INDOUBT Whether there are any in-doubt messages in the network. The filter value is either *NO or *YES. *INDMSGS The number of in-doubt message. The filter value is the integer number of messages. *INDSEQNO The sequence number of the message that is in-doubt. The filter value is the integer sequence number. *LSTSEQNO The last message sequence number. The filter value is the integer sequence number.
424
The CL commands
*MONCHL The current level of monitoring data collection for the channel. The filter value is one of the following: *NONE No monitoring data is collected. *LOW A low ratio of monitoring data is collected. *MEDIUM A medium ratio of monitoring data is collected. *HIGH A high ratio of monitoring data is collected.
*RMTMQMNAME The remote message queue manager. The filter value is the message queue manager name. *STATUS The status of the channel. The filter value is one of the following: *STARTING The channel is ready to beging negotiation with the target MCA. *BINDING The channel is establishing a session. *INACTIVE The channel has ended processing normally or the channel has never started. *INITIALIZING The channel initiator is attempting to start the channel. *RUNNING The channel is transferring or is ready to transfer data. *STOPPING The channel has been requested to stop. *RETRYING A previous attempt to establish a connection has failed. The channel will retry the connection after the specified interval. *PAUSED The channel is waiting for the message retry interval. *STOPPED The channel has been stopped. *REQUESTING The channel has been requested to start.
*SUBSTATE The channel substate. The filter value is one of the following:
425
The CL commands
*ENDBATCH End of batch processing. *SEND Sending data. *RECEIVE Receiving data. *SERIALIZE Serializing with the partner channel. *RESYNCH Re-synchronizing with the partner channel. *HEARTBEAT Heartbeat processing. *SCYEXIT Processing a security exit. *RCVEXIT Processing a receive exit. *SENDEXIT Processing a send exit. *MSGEXIT Processing a message exit. *MREXIT Processing a message-retry exit. *CHADEXIT Processing a channel auto-definition exit. *NETCONNECT Connecting to remote machine. *SSLHANDSHK Establishing an SSL conncetion. *NAMESERVER Requesting information from a name server. *MQPUT MQPUT processing. *MQGET MQGET processing. *MQICALL Processing an MQI call. *COMPRESS Compressing or decompressing data.
*TMQNAME The transmission queue of the channel. The filter value is the queue name. *XQMSGSA The number of messages queued on the transmission queue available for MQGET. This field is valid for cluster-sender channels.
426
The CL commands
The filter value is the integer number of messages.
Parameters
CLUSQMGR, MQMNAME, WHERE
generic*-cluster-queue-manager-name Specify the generic name of the MQ cluster-queue-manager definitions. A generic name is a character string followed by an asterisk (*)> For example ABC*, it selects all cluster-queue-manager definitions having names that start with the character string. You are recommended to specify the name required within quotation marks. Using this format ensures that your selection is precisely what you entered. You cannot select all the upper case and lower case versions of a generic name on a single panel, without requesting all the names. cluster-queue-manager-name Specify the name of the MQ cluster-queue-manager definition.
427
The CL commands
*BATCHSIZE Batch size. The filter value is the integer batch size. *CHANNEL The channel name of the cluster-queue-manager. The filter value is the name of the channel. *CLUSDATE The date on which the definition became available to the local queue manager. The filter value is the data in the form yyyy-mm-dd. *CLUSQMGR The cluster-queue-manager name. The filter value is the name of the cluster-queue-manager. *CLUSTER The cluster to which the cluster-queue-manager belongs. The filter value is the name of the cluster. *CLUSTIME The time at which the definition became available to the local queue manager. The filter value is the time in the form hh:mm:ss. *CLWLRANK Cluster workload rank. The filter value is the integer rank. *CLWLPRTY Cluster workload priority. The filter value is the integer priority. *CLWLWGHT Cluster workload weight. The filter value is the integer weight. *COMPHDR Header compression. The filter value is one of the following: *NONE No header data compression is performed. *SYSTEM Header data compression is performed.
*COMPMSG Message compression. The filter value is one of the following: *NONE No message data compression is performed. *RLE Message data compression is performed using RLE.
428
The CL commands
*ZLIBHIGH Message data compression is performed using ZLIB compression. A high level of compression is preferred. *ZLIBFAST Message data compression is performed using ZLIB compression. A fast compression time is preferred. *ANY Any compression technique supported by the queue manager can be used.
*CONNAME Remote connection name. The filter value is the connection name string. *CVTMSG Whether the message should be converted before transmission. The filter value is one of the following: *YES *NO The application data in the message is converted before sending. The application data in the message is not converted before sending.
*DFNTYPE How the cluster channel was defined. The filter value is one of the following: *CLUSSDR As a cluster-sender channel from an explicit definition. *CLUSSDRA As a cluster-sender channel by auto-definition alone. *CLUSSDRB As a cluster-sender channel by auto-definition and an explicit definition. *CLUSRCVR As a cluster-receiver channel from an explicit definition.
*DSCITV Disconnect interval in seconds. The filter value is the integer interval time. *HRTBTINTVL Heartbeat interval in seconds. The filter value is the integer interval time. *KAINT Keep alive interval in seconds. The filter value is the integer interval time. *LOCLADDR Local connection name.
429
The CL commands
The filter value is the connection name string. *LONGRTY Long retry count. The filter value is the integer count. *LONGTMR Long retry interval in seconds. The filter value is the integer interval time. *MAXMSGLEN Maximum message length. The filter value is the integer length. *MCANAME Message channel agent name. The filter value is the agent name. *MCATYPE Whether the message channel agent program should run as a thread or process. The filter value is one of the following: *PROCESS The message channel agent runs as a separate process. *THREAD The message channel agent runs as a separate thread.
*MCAUSRID Message channel agent user identifier. The filter value is the user identifier string. *MONCHL Channel Monitoring. The filter value is one of the following: *QMGR The collection of Online Monitoring Data is inherited from the setting of the queue manager attribute MONCHL. *OFF Online Monitoring Data collection for this channel is switched off.
*LOW Monitoring data collection is turned on with a low ratio of data collection. *MEDIUM Monitoring data collection is turned on with a moderate ratio of data collection. *HIGH Monitoring data collection is turned on with a high ratio of data collection.
430
The CL commands
The filter value is the exit name. *MSGRTYDATA Message retry exit user data. The filter value is the user data string. *MSGRTYEXIT Message retry exit name. The filter value is the exit name. *MSGRTYITV Message retry interval interval in seconds. The filter value is the integer interval time. *MSGRTYNBR Number of message retries. The filter value is the integer number of retries. *MSGUSRDATA Message exit user data. The filter value is the user data string. *NETPRTY Network connection priority in the range 0 through 9. The filter value is the integer priority value. *NPMSPEED Whether the channel supports fast non persistent messages. The filter value is one of the following: *FAST The channel supports fast non persistent messages. *NORMAL The channel does not support fast non persistent messages.
*PUTAUT Whether the user identifier in the context information should be used. The filter value is one of the following: *DFT *CTX No authority check is made before the message is put on the destination queue. The user identifier in the message context information is used to establish authority to put the message.
*QMID The internally generated unique name of the cluster-queue-manager. The filter value is the unique name. *QMTYPE The function of the cluster-queue-manager in the cluster. The filter value is one of the following: *REPOS Provides a full repository service.
Appendix A. The CL commands
431
The CL commands
*NORMAL Does not provide a full repository service.
*RCVEXIT Receive exit name. The filter value is the exit name. *RCVUSRDATA Receive exit user data. The filter value is the user data string. *SCYEXIT Security exit name. The filter value is the exit name. *SCYUSRDATA Security exit user data. The filter value is the user data string. *SEQNUMWRAP Maximum message sequence number. The filter value is the integer sequence number. *SHORTRTY Short retry count. The filter value is the integer count. *SHORTTMR short retry interval in seconds. The filter value is the integer interval time. *SNDEXIT Send exit name. The filter value is the exit name. *SNDUSRDATA Send exit user data. The filter value is the user data string. *SSLCAUTH Whether the channel should carry out client authentication over SSL. The filter value is one of the following: *REQUIRED Client authentication is required. *OPTIONAL Client authentication is optional.
*SSLCIPH The CipherSpec using in SSL channel negotiation. The filter value is the name of the CipherSpec.
432
The CL commands
*SSLPEER The X500 peer name used in SSL channel negotiation. The filter value is the peer name. *STATCHL Channel Statistics. The filter value is one of the following: *QMGR The collection of statistics data is inherited from the setting of the queue manager attribute STATCHL. *OFF Statistics data collection for this channel is switched off.
*LOW Statistics data collection is turned on with a low ratio of data collection. *MEDIUM Statistics data collection is turned on with a moderate ratio of data collection. *HIGH Statistics data collection is turned on with a high ratio of data collection.
*STATUS The current status of the channel for this cluster queue manager. The filter value is one of the following: *STARTING The channel is waiting to become active. *BINDING The channel is performing channel negotiation. *INACTIVE The channel is not active. *INITIALIZING The channel initiator is attempting to start a channel. *RUNNING The channel is either transferring messages, or is waiting for messages to arrive on the transmission queue. *STOPPING The channel is stopping, or a close request has been received. *RETRYING A previous attempt to establish a connection has failed. The MCA will reattempt connection after the specified time interval. *PAUSED The channel is waiting for the message-retry interval to complete before retrying an MQPUT operation. *STOPPED The channel has either been manually stopped, or the retry limit has been reached.
433
The CL commands
*REQUESTING A local requester channel is requesting services from a remote MCA.
*SUSPEND Whether this cluster queue manager is suspended from the cluster or not. The filter value is either *NO or *YES. *TEXT Descriptive comment. The filter value is the text description of the channel. *TMQNAME Transmission queue name. The filter value is the name of the queue. *USERID Task user identifier. The filter value is the user identifier string.
Parameters
QNAME, MQMNAME, CLUSTER, WHERE
generic*-queue-name Specify the generic name of the MQ cluster-queue definitions. A generic name is a character string followed by an asterisk (*). For example ABC*, it selects all cluster-queue definitions having names that start with the character string. You are recommended to specify the name required within quotation marks. Using this format ensures that your selection is precisely what you entered. You cannot select all the upper case and lower case versions of a generic name on a single panel, without requesting all the names. queue-name Specify the name of the MQ cluster-queue definition.
434
The CL commands
generic*-cluster-name Specify the generic name of the MQ cluster definitions. A generic name is a character string followed by an asterisk (*). For example ABC*, it selects all cluster definitions having names that start with the character string. You are recommended to specify the name required within quotation marks. Using this format ensures that your selection is precisely what you entered. You cannot select all the upper case and lower case versions of a generic name on a single panel, without requesting all the names. cluster-name Specify the name of the MQ cluster definition.
*RMT The cluster queue represents a remote queue. *MQMALS The cluster queue represents a queue manager alias.
*CLUSTER The name of the cluster that the queue is in. The filter value is the name of the cluster.
435
The CL commands
*CLUSTIME The time at which the definition became available to the local queue manager. The filter value is the time in the form hh:mm:ss. *DEFBIND Default message binding. The filter value is one of the following: *OPEN The queue handle is bound to a specific instance of the cluster queue when the queue is opened. *NOTFIXED The queue handle is not bound to any particular instance of the cluster queue.
*DFTMSGPST Default persistence of the messages put on this queue. The filter value is one of the following: *NO *YES Messages on this queue are lost across a restart of the queue manager. Messages on this queue survive a restart of the queue manager.
*DFTPTY Default priority of the messages put on the queue. The filter value is the integer priority value. *PUTENBL Whether applications are permitted to put messages to the queue. The filter value is one of the following: *NO *YES Messages cannot be added to the queue. Messages can be added to the queue by authorized applications.
*QMID Internally generated unique name of the queue manager that hosts the queue. The filter value is the name of the queue manager. *TEXT Descriptive comment. The filter value is the text description of the queue.
436
The CL commands
This enables you to display connection handles and end connections to the queue manager.
Parameters
CONN, MQMNAME, WHERE
connection-id Specify the name of a specific connection identifier. The connection identifier is a 16 character hex string.
*DOS DOS application. *UNIX UNIX application. *QMGR Queue manager application. *OS400 iSeries application. *WINDOWS Windows application.
Appendix A. The CL commands
437
The CL commands
*CICS_VSE CICS/VSE application. *WINDOWS_NT Windows NT application. *VMS VMS application. *NSK Tandem/NSK application. *VOS VOS application. *IMS_BRIDGE IMS bridge application. *XCF XCF application.
*CICS_BRIDGE CICS bridge application. *NOTES_AGENT Lotus Notes application. *BROKER Broker application. *JAVA Java application. *DQM DQM application. *CHINIT Channel initiator. user-value User-defined application. The filter value is the integer application type.
*CHLNAME The name of the channel that owns the connection. The filter value is the channel name. *CONNAME The connection name associated with the channel that owns the connection. The filter value is the connection name. *PID The process identifier of the application that is connected to the queue manager. The filter value is the process identifier integer. *TID The thread identifier of the application that is connected to the queue manager. The filter value is the thread identifier integer. *UOWLOGDA The date that the transaction associated with the connection first wrote to the log. The filter value is the date in the form yyyy-mm-dd.
438
The CL commands
*UOWLOGTI The time that the transaction associated with the connection first wrote to the log. The filter value is the time in the form hh:mm:ss. *UOWSTDA The date that the transaction associated with the connection was started. The filter value is the date in the form yyyy-mm-dd. *UOWSTTI The time that the transaction associated with the connection was started. The filter value is the time in the form hh:mm:ss. *URTYPE The type of unit of recovery identifier as seen by the queue manager. The filter value is one of the following: *QMGR Queue manager transaction. *XA XA transaction.
*USERID The user identifier associated with the connection. The filter value is user identifier name.
Parameters
OPTION, LSRNAME, MQMNAME, WHERE,
Option (OPTION)
This option enables you to select whether you want to information on listener status or listener object definitions. The possible values are: *STATUS Listener status information is displayed. *OBJECT Listener object information is displayed.
439
The CL commands
440
The CL commands
*STARTONLY The listener is started as the queue manager is started, but is not requested to stop when the queue manager is stopped.
*IPADDR The local IP Address to be used by the listener. The filter value is the IP Address. *PORT The port number to be used by the listener. The filter value is the integer port value. *TEXT Descriptive comment. The filter value is the text description of the listener.
Parameters
QNAME, MQMNAME, FIRST, MAXMSG, MAXMSGLEN
message-number Specify the number of the first message to display ranging from 1 through 30 000.
Appendix A. The CL commands
441
The CL commands
count-value Specify a value for the maximum number of messages to display ranging from 1 through 30 000.
Parameters
NAMELIST, MQMNAME, WHERE
Namelist (NAMELIST)
Specifies the name or names of the namelists. The possible values are: *ALL All namelist definitions are selected.
generic*-namelist-name Specify the generic name of the MQ namelists. A generic name is a character string followed by an asterisk (*). For example ABC*, it selects all namelists having names that start with the character string. You are recommended to specify the name required within quotation marks. Using this format ensures that your selection is precisely what you entered. You cannot select all the upper case and lower case versions of a generic name on a single panel, without requesting all the names. namelist-name Specify the name of the MQ namelist.
442
The CL commands
Parameters
PRCNAME, MQMNAME, WHERE
generic*-process-name Specify the generic name of the MQ process definitions. A generic name is a character string followed by an asterisk (*). For example ABC*, it selects all process definitions having names that start with the character string.
Appendix A. The CL commands
443
The CL commands
You are recommended to specify the name required within quotation marks. Using this format ensures that your selection is precisely what you entered. You cannot select all the upper case and lower case versions of a generic name on a single panel, without requesting all the names. process-name Specify the name of the MQ process definition.
*DOS DOS application. *UNIX UNIX application. *QMGR Queue manager application. *OS400 iSeries application. *WINDOWS Windows application.
444
The CL commands
*CICS_VSE CICS/VSE application. *WINDOWS_NT Windows NT application. *VMS VMS application. *NSK Tandem/NSK application. *VOS VOS application. *IMS_BRIDGE IMS bridge application. *XCF XCF application.
*CICS_BRIDGE CICS bridge application. *NOTES_AGENT Lotus Notes application. *BROKER Broker application. *JAVA Java application. *DQM DQM application. user-value User-defined application. The filter value is the integer application type.
*ENVDATA Environment data pertaining to the application. The filter value is the environment data. *TEXT Descriptive comment. The filter value is the text description of the queue. *USRDATA User data pertaining to the application. The filter value is the user data.
Parameters
QNAME, QTYPE, MQMNAME, CLUSTER, CLUSNL, WHERE
445
The CL commands
generic*-queue-name Specify the generic name of the queues to be selected. A generic name is a character string, followed by an asterisk (*). For example ABC*, it selects all queues having names that start with the character string. You are recommended to specify the name required within quotation marks. Using this format ensures that your selection is precisely what you entered. You cannot select all the upper case and lower case versions of a generic name on a single panel, without requesting all the names. queue-name Specify the name of the queue.
446
The CL commands
cluster-name The name of a cluster.
generic*-cluster-namelist-name The generic name of a cluster namelist. cluster-namelist-name The name of a cluster namelist.
*ALTDATE The date on which the definition or information was last altered. The filter value is the data in the form yyyy-mm-dd. *ALTTIME The time at which the definition or information was last altered. The filter value is the time in the form hh:mm:ss. *BKTTHLD Backout threshold. The filter value is the integer threshold value. *BKTQNAME Backout requeue name. The filter value is the name of the queue. *CLUSDATE The date on which the definition became available to the local queue manager. The filter value is the date in the form yyyy-mm-dd. *CLUSNL The namelist that defines the clusters that the queue is in.
447
The CL commands
The filter value is the name of the namelist. *CLUSQMGR The name of the queue manager that hosts the queue. The filter value is the name of the queue manager. *CLUSQTYPE Cluster queue type. The filter value is one of the following: *LCL *ALS The cluster queue represents a local queue. The cluster queue represents an alias queue.
*RMT The cluster queue represents a remote queue. *MQMALS The cluster queue represents a queue manager alias.
*CLUSTER The name of the cluster that the queue is in. The filter value is the name of the cluster. *CLUSTIME The time at which the definition became available to the local queue manager. The filter value is the time in the form hh:mm:ss. *CLWLPRTY Cluster workload priority. The filter value is the integer priority. *CLWLRANK Cluster workload rank. The filter value is the integer rank. *CLWLUSEQ Cluster workload queue use. The filter value is one of the following: *QMGR The value is inherited from the Queue Manager CLWLUSEQ attribute. *LOCAL The local queue will be the sole target of the MQPUT. *ANY The queue manager will treat such a local queue as another instance of the cluster queue for the purposes of workload distribution.
*CRDATE The date on which the queue was created. The filter value is the date in the form yyyy-mm-dd. *CRTIME The time at which the queue was created.
448
The CL commands
The filter value is the time in the form hh:mm:ss. *CURDEPTH Current depth of queue. The filter value is the integer depth value. *DEFBIND Default message binding. The filter value is one of the following: *OPEN The queue handle is bound to a specific instance of the cluster queue when the queue is opened. *NOTFIXED The queue handle is not bound to any particular instance of the cluster queue.
*DFNTYPE Queue definition type. The filter value is one of the following: *PREDEF Predefined queue. *PERMDYN Permanent dynamic queue. *TEMPDYN Temporary dynamic queue.
*DFTMSGPST Default persistence of the messages put on this queue. The filter value is one of the following: *NO *YES Messages on this queue are lost across a restart of the queue manager. Messages on this queue survive a restart of the queue manager.
*DFTPTY Default priority of the messages put on the queue. The filter value is the integer priority value. *DFTSHARE Default share option on a queue opened for input. The filter value is one of the following: *NO *YES The open request is for exclusive input from the queue. The open request is for shared input from the queue.
*DISTLIST Whether distribution lists are supported by the partner queue manager.
449
The CL commands
The filter value is one of the following: *NO *YES Distribution lists are not supported by the partner queue manager. Distribution lists are supported by the partner queue manager.
*FULLEVT Whether Queue Depth Full events are generated. The filter value is one of the following: *NO *YES Queue Depth Full events are not generated. Queue Depth Full events are generated.
*GETDATE The date on which the last message was got from the queue since queue manager start. This field is only present when Queue Monitoring is not set to *OFF. The filter value is the data in the form yyyy-mm-dd. *GETENBL Whether applications are permitted to get messages from the queue. The filter value is one of the following: *NO *YES Applications cannot retrieve messages from the queue. Authorized applications can retrieve messages from the queue.
*GETTIME The time at which the last message was got from the queue since queue manager start. This field is only present when Queue Monitoring is not set to *OFF. The filter value is the time in the form hh:mm:ss. *HDNBKTCNT Whether the backout count is hardened. The filter value is one of the following: *NO *YES The backout count is not hardened. The backout count is hardened.
*HIGHEVT Whether Queue Depth High events are generated. The filter value is one of the following: *NO *YES Queue Depth High events are not generated. Queue Depth High events are generated.
*HIGHTHLD Queue Depth High event generation threshold. The filter value is the integer threshold value.
450
The CL commands
*INITQNAME Initiation queue. The filter value is the name of the queue. *IPPROCS Number of handles indicating that the queue is open for input. The filter value is the integer number of handles. *JOBS The current number of jobs that have the queue open. The filter value is the integer number of jobs. *LOWEVT Whether Queue Depth Low events are generated. The filter value is one of the following: *NO *YES Queue Depth Low events are not generated. Queue Depth Low events are generated.
*LOWTHLD Queue Depth Low event generation threshold. The filter value is the integer threshold value. *MAXDEPTH Maximum depth of queue. The filter value is the integer number of messages. *MAXMSGLEN Maximum message length. The filter value is the integer message length. *MEDIAREC The journal receiver containing the last media recovery image. This field is only present for local queues. The filter value is the journal receiver string. *MONQ Online Monitoring Data. The filter value is one of the following: *QMGR The collection of Online Monitoring Data is inherited from the setting of the queue manager attribute MONQ. *OFF Online Monitoring Data collection for this queue is switched off.
*LOW Monitoring data collection is turned on with a low ratio of data collection. *MEDIUM Monitoring data collection is turned on with a moderate ratio of data collection. *HIGH Monitoring data collection is turned on with a high ratio of data collection.
451
The CL commands
*MSGAGE The age in seconds of the oldest message on the Queue. This field is only present when Queue Monitoring is not set to *OFF. The filter value is the integer message age. *MSGDLYSEQ Message delivery sequence. The filter value is one of the following: *PTY Messages are delivered in FIFO order within priority.
*NPMCLASS Non-persistent message class. The filter value is one of the following: *NORMAL Non-persistent message class is normal. *HIGH Non-persistent message class is high.
*OPPROCS Number of handles indicating that the queue is open for output. The filter value is the integer number of handles. *PRCNAME Process name. The filter value is the name of the process. *PUTDATE The date on which the last message was put to the queue since queue manager start. This field is only present when Queue Monitoring is not set to *OFF. The filter value is the data in the form yyyy-mm-dd. *PUTENBL Whether applications are permitted to put messages to the queue. The filter value is one of the following: *NO *YES Messages cannot be added to the queue. Messages can be added to the queue by authorized applications.
*PUTTIME The time at which the last message was put to the queue since queue manager start. This field is only present when Queue Monitoring is not set to *OFF. The filter value is the time in the form hh:mm:ss. *QMID Internally generated unique name of the queue manager that hosts the queue.
452
The CL commands
The filter value is the name of the queue manager. *QTYPE Queue type. The filter value is one of the following: *LCL *ALS Local queue. Alias queue.
*RMTMQMNAME Remote queue manager name. The filter value is the name of the queue manager. *RMTQNAME Name of the local queue, as known by the remote queue manager. The filter value is the name of the queue. *RTNITV Retention interval. The filter value is the integer interval value. *SHARE Whether the queue can be shared. The filter value is one of the following: *NO *YES Only a single application instance can open the queue for input. More than one application instance can open the queue for input.
*SRVEVT Whether service interval events are generated. The filter value is one of the following: *HIGH Service Interval High events are generated. *OK *NONE No service interval events are generated. Service Interval OK events are generated.
*SRVITV Service interval event generation threshold. The filter value is the integer threshold value. *STATQ Statistics data. The filter value is one of the following:
453
The CL commands
*QMGR Statistics data collection is based upon the setting of the queue manager attribute STATQ. *OFF *ON Statistics data collection for this queue is switched off. Statistics data collection is switched on for this queue.
*TEXT Descriptive comment. The filter value is the text description of the queue. *TGTQNAME Target queue for which this queue is an alias. The filter value is the name of the queue. *TMQNAME Transmission queue name. The filter value is the name of the queue. *TRGDATA Trigger data. The filter value is the text of the trigger message. *TRGDEPTH Trigger depth. The filter value is the integer number of messages. *TRGENBL Whether triggering is enabled. The filter value is one of the following: *NO *YES Triggering is not enabled. Triggering is enabled.
*TRGMSGPTY Threshold message priority for triggers. The filter value is the integer priority value. *TRGTYPE Trigger type. The filter value is one of the following: *FIRST When the number of messages on the queue goes from 0 to 1. *ALL Every time a message arrives on the queue.
*DEPTH When the number of messages on the queue equals the value of the TRGDEPTH attribute. *NONE No trigger messages are written.
454
The CL commands
*USAGE Whether the queue is a transmission queue. The filter value is one of the following: *NORMAL The queue is not a transmission queue. *TMQ The queue is a transmission queue.
Parameters
MQMNAME, QNAME, WHERE
455
The CL commands
*CONNAME The connection name of the channel which has the queue open. The filter value is the connection name. *INPUT Whether the job has the queue open for input. The filter value is one of the following: *NO The job does not have the queue open for input.
*SHARED The job has the queue open for shared input. *EXCL The job has the queue open for exclusive input.
*INQUIRE Whether the job has the queue open for inquiry. The filter value is either *NO or *YES. *JOB The name of the job which has the queue open. The filter value is the job name. *OUTPUT Whether the job has the queue open for output. The filter value is either *NO or *YES. *SET Whether the job has the queue open for set. The filter value is either *NO or *YES. *URTYPE The type of unit of work recovery identifier. The filter value is one of the following: *QMGR Queue manager unit of work recovery identifier. *XA XA unit of work recovery identifier.
Parameters
SVCNAME, MQMNAME, WHERE
456
The CL commands
457
The CL commands
*ENDARG The arguments passed to the end program when the service is requested to stop. The filter value is the arguments string. *ENDCMD The name of the executable to run when the service is requested to stop. The filter value is the program name string. *STDERR The standard error path. The filter value is the path name. *STDOUT The standard output path. The filter value is the path name. *STRARG The arguments passed to the program at startup. The filter value is the arguments string. *STRCMD The name of the program to run. The filter value is the program name string. *TEXT Descriptive comment. The filter value is the text description of the service. *TYPE Mode in which to run service. The filter value is one of the following: *CMD When started the command is executed but no status is collected or displayed. *SVR The status of the executable started is monitored and displayed.
Parameters
TYPE, MQMNAME
458
The CL commands
*INT Requests details of internally coordinated, in-doubt transactions. Such transactions are those for which each resource manager has been asked to prepare to commit, but WebSphere MQ has yet to inform the resource managers of the transaction outcome.
459
The CL commands
460
All queue manager names and queue manager library names are written to stanzas in the file /QIBM/UserData/mqm/mqs.ini.
461
462
Default objects
v The default objects define all the attributes of an object. When you create an object, such as a local queue, any attributes that you do not specify explicitly are inherited from the default object. The following tables list the system and default objects created by CRTMQM: v Table 20 lists the system and default queue objects. v Table 21 lists the system and default channel objects. v Table 22 gives the system and default authentication information object. v Table 23 gives the system and default listener object. v Table 24 gives the system and default namelist object. v Table 25 gives the system and default process object. v Table 26 gives the system and default service object.
Table 20. System and default objects: queues Object name SYSTEM.ADMIN.CHANNEL.EVENT SYSTEM.ADMIN.COMMAND.QUEUE Description Event queue for channels. Administration command queue. Used for remote MQSC commands and PCF commands. Event queue for performance events. Event queue for queue manager events. Used by the object authority manager (OAM). Channel initiation queue. The queue that holds the synchronization data for channels. Default CICS initiation queue. The queue used to carry messages to the repository queue manager. The queue used to store all repository information. The transmission queue for all messages to all clusters. Dead-letter (undelivered message) queue. Default alias queue. Default authentication information definition. Default initiation queue. Default local queue. Default model queue. Default remote queue. WebSphere MQ Explorer reply-to queue. This is a model queue that creates a temporary dynamic queue for replies to the WebSphere MQ Explorer. MQSC command reply-to queue. This is a model queue that creates a temporary dynamic queue for replies to remote MQSC commands. Support deferred messages in JMS.
Appendix B. WebSphere MQ names and default objects
SYSTEM.ADMIN.PERFM.EVENT SYSTEM.ADMIN.QMGR.EVENT SYSTEM.AUTH.DATA.QUEUE SYSTEM.CHANNEL.INITQ SYSTEM.CHANNEL.SYNCQ SYSTEM.CICS.INITIATION.QUEUE SYSTEM.CLUSTER.COMMAND.QUEUE SYSTEM.CLUSTER.REPOSITORY.QUEUE SYSTEM.CLUSTER.TRANSMIT.QUEUE SYSTEM.DEAD.LETTER.QUEUE SYSTEM.DEFAULT.ALIAS.QUEUE SYSTEM.DEFAULT.AUTHINFO.CRLLDAP SYSTEM.DEFAULT.INITIATION.QUEUE SYSTEM.DEFAULT.LOCAL.QUEUE SYSTEM.DEFAULT.MODEL.QUEUE SYSTEM.DEFAULT.REMOTE.QUEUE SYSTEM.MQEXPLORER.REPLY.MODEL
SYSTEM.MQSC.REPLY.QUEUE
SYSTEM.PENDING.DATA.QUEUE
463
Default objects
Table 21. System and default objects: channels Object name SYSTEM.AUTO.RECEIVER SYSTEM.AUTO.SVRCONN SYSTEM.DEF.CLNTCONN Description Dynamic receiver channel. Dynamic server-connection channel. Default client connection channel, used to supply default values for any attributes not specified when a CLNTCONN channel is created on a queue manager. Default receiver channel for the cluster used to supply default values for any attributes not specified when a CLUSRCVR channel is created on a queue manager in the cluster. Default sender channel for the cluster used to supply default values for any attributes not specified when a CLUSSDR channel is created on a queue manager in the cluster. Default receiver channel. Default requester channel. Default sender channel. Default server channel. Default server-connection channel.
SYSTEM.DEF.CLUSRCVR
SYSTEM.DEF.CLUSSDR
Table 22. System and default objects: authentication information objects Object name SYSTEM.DEFAULT.AUTHINFO. CRLLDAP Table 23. System and default objects: listeners Object name SYSTEM.DEFAULT.LISTENER.TCP SYSTEM.DEFAULT.LISTENER.LU62 SYSTEM.DEFAULT.LISTENER.NETBIOS SYSTEM.DEFAULT.LISTENER.SPX Description Default listener for TCP transport. Default listener for LU62 transport. Default listener for NETBIOS transport. Default listener for SPX transport. Description Default authentication information object.
Table 24. System and default objects: namelists Object name SYSTEM.DEFAULT.NAMELIST Description Default namelist definition.
Table 25. System and default objects: processes Object name SYSTEM.DEFAULT.PROCESS Table 26. System and default objects: services Object name SYSTEM.DEFAULT.SERVICE Description Default service. Description Default process definition.
464
Default objects
Table 26. System and default objects: services (continued) Object name SYSTEM.BROKER Description Publish/Subscribe broker.
465
Default objects
466
467
AMQSAMP4
+ TEXT(Sample alias queue) + DFTMSGPST(*YES) /* Persistent messages OK */+ TGTQNAME(SYSTEM.SAMPLE.LOCAL) /* /* Create a remote queue - in this case, an indirect reference is made to the sample local queue on OTHER queue manager CRTMQMQ QNAME(SYSTEM.SAMPLE.REMOTE) QTYPE(*RMT) REPLACE(*YES) */ */ + + + TEXT(Sample remote queue)/* description */+ DFTMSGPST(*YES) /* Persistent messages OK */+ RMTQNAME(SYSTEM.SAMPLE.LOCAL) + RMTMQMNAME(OTHER) /* Queue is on OTHER */
/* /*
Create a transmission queue for messages to queues at OTHER */ By default, use remote node name */ CRTMQMQ QNAME(OTHER) /* transmission queue name */+ QTYPE(*LCL) REPLACE(*YES) + TEXT(transmision queue to OTHER) + USAGE(*TMQ) /* transmission queue */
/********************************************************************/ /* SPECIFIC QUEUES AND PROCESS USED BY SAMPLE PROGRAMS */ /* */ /* Create local queues used by sample programs */ /* Create MQI process associated with sample initiation queue */ /* */ /********************************************************************/ /* General reply queue */ CRTMQMQ QNAME(SYSTEM.SAMPLE.REPLY) + QTYPE(*LCL) REPLACE(*YES) + + TEXT(General reply queue) + DFTMSGPST(*YES) /* Persistent messages OK */ /* Queue used by AMQSINQA CRTMQMQ QNAME(SYSTEM.SAMPLE.INQ) QTYPE(*LCL) REPLACE(*YES) */ + + + TEXT(queue for AMQSINQA) + SHARE(*YES) /* Shareable */+ DFTMSGPST(*YES)/* Persistent messages OK */+ + TRGENBL(*YES) /* Trigger control on */+ TRGTYPE(*FIRST)/* Trigger on first message*/+ PRCNAME(SYSTEM.SAMPLE.INQPROCESS) + INITQNAME(SYSTEM.SAMPLE.TRIGGER) */ + + + TEXT(queue for AMQSSETA) + SHARE(*YES) /* Shareable */ + DFTMSGPST(*YES)/* Persistent messages OK */ + + TRGENBL(*YES) /* Trigger control on */ + TRGTYPE(*FIRST)/* Trigger on first message*/+ PRCNAME(SYSTEM.SAMPLE.SETPROCESS) + INITQNAME(SYSTEM.SAMPLE.TRIGGER) */ +
/*
/*
468
AMQSAMP4
QTYPE(*LCL) + + TEXT(queue for AMQSECHA) + SHARE(*YES) /* Shareable */ + DFTMSGPST(*YES)/* Persistent messages OK */ + + TRGENBL(*YES) /* Trigger control on */ + TRGTYPE(*FIRST)/* Trigger on first message*/+ PRCNAME(SYSTEM.SAMPLE.ECHOPROCESS) + INITQNAME(SYSTEM.SAMPLE.TRIGGER) /* Initiation Queue used by AMQSTRG4, sample trigger process CRTMQMQ QNAME(SYSTEM.SAMPLE.TRIGGER) + QTYPE(*LCL) REPLACE(*YES) + TEXT(trigger queue for sample programs) */ REPLACE(*YES)
/* MQI Processes associated with triggered sample programs /* /***** Note - there are versions of the triggered samples /***** in different languages - set APPID for these /***** process to the variation you want to trigger /* CRTMQMPRC PRCNAME(SYSTEM.SAMPLE.INQPROCESS) REPLACE(*YES)
*/ */ ******/ ******/ ******/ */ + + + TEXT(trigger process for AMQSINQA) + ENVDATA(JOBPTY(3)) /* Submit parameter */ + /** Select the triggered program here **/ + APPID(AMQSINQA) /* C */ + /* APPID(AMQ0INQA) /* COBOL */ + /* APPID(AMQ3INQ4) /* RPG - ILE */ + + + TEXT(trigger process for AMQSSETA) + ENVDATA(JOBPTY(3)) /* Submit parameter */ + /** Select the triggered program here **/ + APPID(AMQSSETA) /* C */ + /* APPID(AMQ0SETA) /* COBOL */ + /* APPID(AMQ3SET4) /* RPG - ILE */ + + + TEXT(trigger process for AMQSECHA) + ENVDATA(JOBPTY(3)) /* Submit parameter */ + /** Select the triggered program here **/ + APPID(AMQSECHA) /* C */ + /* APPID(AMQ0ECHA) /* COBOL */ + /* APPID(AMQ3ECH4) /* RPG - ILE */ CRTMQMPRC PRCNAME(SYSTEM.SAMPLE.ECHOPROCESS) REPLACE(*YES) CRTMQMPRC PRCNAME(SYSTEM.SAMPLE.SETPROCESS) REPLACE(*YES)
/********************************************************************/ /* Normal return. */ /********************************************************************/ RETURN ENDPGM /********************************************************************/ /* END OF AMQSAMP4 */ /********************************************************************/
469
AMQSAMP4
470
Quiescing MQSeries for AS/400 V5.2 and WebSphere MQ for iSeries systems
To quiesce MQSeries for AS/400 V5.2 and WebSphere MQ for iSeries systems: 1. Sign on to a new interactive MQSeries for AS/400 or WebSphere MQ for iSeries session, ensuring that you are not accessing any objects. 2. Ensure that you have: v *ALLOBJ authority , or object management authority for the QMQM library v Sufficient authority to use the ENDSBS command 3. Advise all users that you are going to stop MQSeries for AS/400. 4. How you then proceed depends on whether you want to shut down (quiesce) a single queue manager (where others might exist) (see Shutting down a single queue manager) or all the queue managers (see Shutting down all queue managers on page 473).
Planned shutdown
1. One hour before shutdown, execute:
RCDMQMIMG OBJ(*ALL) OBJTYPE(*ALL) MQMNAME(QMgr1) DSPJRNDTA(*YES)
Copyright IBM Corp. 1994, 2005
471
If QMgr1 does not end, the channel or applications are probably busy. 3. If you need to shut down QMgr1 immediately, execute the following:
ENDMQM MQMNAME(QMgr1) OPTION(*IMMED) ENDCCTJOB(*YES) TIMEOUT(15)
Unplanned shutdown
1. To shut down the queue manager, execute:
ENDMQM MQMNAME(QMgr1) OPTION(*IMMED)
If QMgr1 does not end, the channel or applications are probably busy. 2. If you need to shut down QMgr1 immediately, execute the following:
ENDMQM MQMNAME(QMgr1) OPTION(*IMMED) ENDCCTJOB(*YES) TIMEOUT(15)
If QMgr1 does not end, continue with step 3 providing that: v QMgr1 is in its own subsystem, or v You can end all queue managers that share the same subsystem as QMgr1. Use the unplanned shutdown procedure for all such queue managers. 2. When you have taken all the steps in the procedure for all the queue managers sharing the subsystem (SUBX in our examples), execute:
ENDSBS SUBX *IMMED
If this command fails to complete, shut down all queue managers, using the unplanned shutdown procedure, and IPL your machine.
Warning Do not use ENDJOBABN for MQSeries or WebSphere MQ jobs that fail to end as result of ENDJOB or ENDSBS, unless you are prepared to IPL your machine immediately after. 3. Start the subsystem by executing:
STRSBS SUBX
If this fails, and you: v Have restarted your machine with an IPL, or v Have only a single queue manager Tidy up MQSeries or WebSphere MQ shared memory by executing:
ENDMQM MQMNAME(*ALL) OPTION(*IMMED) ENDCCTJOB(*YES) TIMEOUT(15)
472
before repeating step 5. If the queue manager restart takes more than a few seconds, WebSphere MQ will add status messages intermittently to the job log detailing the start up progress. For more information on these messages see WebSphere MQ Messages. If you still have problems restarting your queue manager, contact IBM support. Any further action you might take could damage the queue manager, leaving MQSeries or WebSphere MQ unable to recover.
Planned shutdown
1. One hour before shutdown, execute:
RCDMQMIMG OBJ(*ALL) OBJTYPE(*ALL) MQMNAME(QMgr1) DSPJRNDTA(*YES)
Repeat this for every queue manager that you want to shut down. 2. To shut down the queue manager, execute:
ENDMQM MQMNAME(QMgr1) OPTION(*CNTRLD)
Repeat this for every queue manager that you want to shut down; separate commands can run in parallel. If any queue manager does not end within a reasonable time (for example 10 minutes), proceed to step 3. 3. To shut down all queue managers immediately, execute the following:
ENDMQM MQMNAME(*ALL) OPTION(*IMMED) ENDCCTJOB(*YES) TIMEOUT(15)
Unplanned shutdown
1. To shut down a queue manager, execute:
ENDMQM MQMNAME(QMgr1) OPTION(*IMMED)
Repeat this for every queue manager that you want to shut down; separate commands can run in parallel. If queue managers do not end, the channel or applications are probably busy. 2. If you need to shut down the queue managers immediately, execute the following:
ENDMQM MQMNAME(*ALL) OPTION(*IMMED) ENDCCTJOB(*YES) TIMEOUT(15)
Repeat this for every queue manager that you want to shut down; separate commands can run in parallel.
Appendix D. Quiescing WebSphere MQ and MQSeries systems
473
Repeat this for every subsystem that you want to shut down; separate commands can run in parallel. If this command fails to complete, IPL your machine.
Warning Do not use ENDJOBABN for MQSeries or WebSphere MQ jobs that fail to end as result of ENDJOB or ENDSBS, unless you are prepared to IPL your machine immediately after. 3. Start the subsystems by executing:
STRSBS SUBX
Repeat this for every subsystem that you want to start. 4. Shut the queue managers down immediately, by executing:
ENDMQM MQMNAME(*ALL) OPTION(*IMMED) ENDCCTJOB(*YES) TIMEOUT(15)
Repeat this for every queue manager that you want to start. If any queue manager restart takes more than a few seconds WebSphere MQ will show status messages intermittently detailing the start up progress. For more information on these messages see WebSphere MQ Messages. If you still have problems restarting any queue manager, contact IBM support. Any further action you might take could damage the queue managers, leaving MQSeries or WebSphere MQ unable to recover.
474
Appendix E. Notices
This information was developed for products and services offered in the United States. IBM may not offer the products, services, or features discussed in this information in other countries. Consult your local IBM representative for information on the products and services currently available in your area. Any reference to an IBM product, program, or service is not intended to state or imply that only that IBM product, program, or service may be used. Any functionally equivalent product, program, or service that does not infringe any IBM intellectual property right may be used instead. However, it is the users responsibility to evaluate and verify the operation of any non-IBM product, program, or service. IBM may have patents or pending patent applications covering subject matter described in this information. The furnishing of this information does not give you any license to these patents. You can send license inquiries, in writing, to: IBM Director of Licensing IBM Corporation North Castle Drive Armonk, NY 10504-1785 U.S.A. For license inquiries regarding double-byte (DBCS) information, contact the IBM Intellectual Property Department in your country or send inquiries, in writing, to: IBM World Trade Asia Corporation Licensing 2-31 Roppongi 3-chome, Minato-ku Tokyo 106, Japan The following paragraph does not apply to the United Kingdom or any other country where such provisions are inconsistent with local law: INTERNATIONAL BUSINESS MACHINES CORPORATION PROVIDES THIS PUBLICATION AS IS WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY, OR FITNESS FOR A PARTICULAR PURPOSE. Some states do not allow disclaimer of express or implied warranties in certain transactions, therefore this statement may not apply to you. This information could include technical inaccuracies or typographical errors. Changes are periodically made to the information herein; these changes will be incorporated in new editions of the information. IBM may make improvements and/or changes in the product(s) and/or the program(s) described in this information at any time without notice. Any references in this information to non-IBM Web sites are provided for convenience only and do not in any manner serve as an endorsement of those Web sites. The materials at those Web sites are not part of the materials for this IBM product and use of those Web sites is at your own risk. IBM may use or distribute any of the information you supply in any way it believes appropriate without incurring any obligation to you.
475
Notices
Licensees of this program who wish to have information about it for the purpose of enabling: (i) the exchange of information between independently created programs and other programs (including this one) and (ii) the mutual use of the information which has been exchanged, should contact: IBM United Kingdom Laboratories, Mail Point 151, Hursley Park, Winchester, Hampshire, England SO21 2JN. Such information may be available, subject to appropriate terms and conditions, including in some cases, payment of a fee. The licensed program described in this information and all licensed material available for it are provided by IBM under terms of the IBM Customer Agreement, IBM International Programming License Agreement, or any equivalent agreement between us. Information concerning non-IBM products was obtained from the suppliers of those products, their published announcements or other publicly available sources. IBM has not tested those products and cannot confirm the accuracy of performance, compatibility or any other claims related to non-IBM products. Questions on the capabilities of non-IBM products should be addressed to the suppliers of those products. COPYRIGHT LICENSE: This information contains sample application programs in source language, which illustrate programming techniques on various operating platforms. You may copy, modify, and distribute these sample programs in any form without payment to IBM, for the purposes of developing, using, marketing or distributing application programs conforming to the application programming interface for the operating platform for which the sample programs are written. These examples have not been thoroughly tested under all conditions. IBM, therefore, cannot guarantee or imply reliability, serviceability, or function of these programs. You may copy, modify, and distribute these sample programs in any form without payment to IBM for the purposes of developing, using, marketing, or distributing application programs conforming to IBMs application programming interfaces.
Trademarks
The following are trademarks of International Business Machines Corporation in the United States, or other countries, or both:
AIX CICS/400 First Failure Support Technology IBMLink Lotus MVS/ESA OS/400 WebSphere AS/400 CICS/VSE i5/OS IMS MQSeries Notes RETAIN z/OS CICS FFST IBM iSeries MVS OS/2 SupportPac
476
Notices
Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both. Microsoft, Windows, Windows NT, and the Windows logo are trademarks of Microsoft Corporation in the United States, other countries, or both. UNIX is a registered trademark of The Open Group in the United States and other countries. Linux is a trademark of Linus Torvalds in the United States, other countries, or both. Other company, product, and service names may be trademarks or service marks of others.
Appendix E. Notices
477
478
B
backup data 96 introduction 91 journals 96 media images 94 performance 101 using journals 93 BindType field MQZAC structure 187
A
AccountingToken field MQZIC structure 197 ACTION keyword, rules table 84 action keywords, rules table 84 administration authorizations 62 description of 39 introduction to 35 local, definition of 35 MQAI, using 38 PCF commands 37 queue manager name transformation 461 remote administration, definition of 35 understanding WebSphere MQ file names 461 using PCF commands 37 WebSphere MQ script (MQSC) commands 36 alias queues authorizations to 77 defining alias queues 27 working with alias queues 26 AllQueueManagers stanza, mqs.ini 125 alternate-user authority 77 AMQA000000 work management object 45 AMQAJRN work management object 45 AMQAJRNMSG work management object 45 AMQALMPX task 43 AMQCLMAA task 43 AMQCRC6B work management object 45 AMQCRS6B task 44 AMQCRSTA task 43 AMQLAA0 work management object 45 AMQPCSEA task 44 AMQRFCD4 work management object 45 AMQRMPPA task 44 AMQRRMFA task 44 AMQZDMAA task 44 AMQZFUMA task 44 AMQZLAA0 task 44 AMQZXMA0 task 44 AMQZXMA0 work management object 45 analyzing problems See problem determination application design, performance considerations 119
C
CallerType field MQZAC structure 186 CCTMQM command 202 Change Message Queue Manager command 202 Change MQ AuthInfo object command 216 Change MQ Channel command 217 Change MQ Listener command 235 Change MQ Namelist command 236 Change MQ Process command 237 Change MQ Queue command 240 Change MQ Service command 254 change, Autumn time 12 change, Spring time 12 changing local queue attributes 26 queue manager attributes 24 channels channel command security 78 Channels stanza, qm.ini 128 command security requirements 78 description of 8 escape command authorizations 62 exits 11 queue manager error log stanza, qm.ini 130 Channels stanza, qm.ini 128 characters allowed in object names 461 CharAttrCount parameter inquire authorization service call 175 CharAttrs parameter inquire authorization service call 175 checkpoints 95 CHGMQM command 202 CHGMQMAUTI command 216 CHGMQMCHL command 217 CHGMQMLSR command 235 CHGMQMNL command 236 CHGMQMPRC command 237 CHGMQMQ command 240 CHGMQMSVC command 254 CL commands creating a queue alias 23 initiation 23 model 23
479
CL commands (continued) creating a queue (continued) remote 21 transmission 23 using CRTMQMQ for local queues 19 using WRKMQMQ for local queues 20 creating WebSphere MQ objects 19 grouping 15 reference 199 starting a local queue manager 18 Clear MQ Queue command 257 Clear WebSphere MQ Publish/Sub command 257 clearing a local queue 26 client connection channel description of 9 clients and servers definition 10 WebSphere MQ applications 11 CLRMQMBRK command 257 CLRMQMQ command 257 clusters cluster transmission queues 7 description of 9 ExitProperties stanza attributes 126 command files 37 command queue 8 command queues command server status 41 description of 8 command server displaying status 41 remote administration 40 starting a command server 41 stopping a command server 41 commands, PCF 37 CompCode parameter authenticate user call 150 check authority call 154 copy all authority call 157 delete authority call 160 enumerate authority data call 162 free user call 164 get authority call 167 get explicit authority call 170 initialize authorization service call 173 inquire authorization service call 176 MQZEP call 147 set authority call 181 terminate authorization service call 183 complete queue manager (data and journals), Restoring a 99 ComponentData parameter authenticate user call 150 check authority call 154 copy all authority call 157 delete authority call 160 enumerate authority data call 162 free user call 164 get authority call 167 get explicit authority call 170 initialize authorization service call 172
ComponentData parameter (continued) inquire authorization service call 175 set authority call 181 terminate authorization service call 183 ComponentDataLength parameter initialize authorization service call 172 components, installable services 139 configuration file authorization service 144 configuration files AllQueueManagers stanza, mqs.ini 125 Channels stanza, qm.ini 128 DefaultQueueManager stanza, mqs.ini 126 editing 123 example mqs.ini file 135 example qm.ini file 136 ExitProperties stanza, mqs.ini 126 Log stanza, qm.ini 128 mqs.ini, description of 124 priorities 124 queue manager configuration file, qm.ini 124 queue manager error log stanza, qm.ini 130 QueueManager stanza, mqs.ini 127 TCP stanza, qm.ini 131 configuring logs 128 Connect MQ command 202 context authority 78 Continuation parameter authenticate user call 150 check authority call 154 copy all authority call 157 delete authority call 160 enumerate authority data call 162 free user call 164 get authority call 167 get explicit authority call 170 inquire authorization service call 175 set authority call 181 Convert MQ Data Type command 348 Copy MQ AuthInfo object command 258 Copy MQ Channel command 260 Copy MQ Listener command 278 Copy MQ Namelist command 280 Copy MQ Process command 281 Copy MQ Queue command 284 Copy MQ Service command 298 CorrelationPtr field MQZED structure 193 MQZFP structure 194 CorrelationPtr parameter authenticate user call 150 CorrelId, performance considerations 119 CPYMQMAUTI command 258 CPYMQMCHL command 260 CPYMQMLSR command 278 CPYMQMNL command 280 CPYMQMPRC command 281 CPYMQMQ command 284 CPYMQMSVC command 298
Create Message Queue Manager command 301 Create MQ AuthInfo object command 304 Create MQ Channel command 306 Create MQ Listener command 324 Create MQ Namelist command 326 Create MQ Process command 327 Create MQ Queue command 330 Create MQ Service command 345 creating dynamic (temporary) queue 3 model queue 3 predefined (permanent) queue 3 process definition 31 creating service components 143 creating WebSphere MQ objects 19 CRTMQM command 301 CRTMQMAUTI command 304 CRTMQMCHL command 306 CRTMQMLSR command 324 CRTMQMNL command 326 CRTMQMPRC command 327 CRTMQMQ command 330 CRTMQMSVC command 345 CVTMQMDTA command 348
D
data backup 96 restoring 99 data conversion ConvEBCDICNewline attribute, AllQueueManagers stanza 125 EBCDIC NL character conversion to ASCII 125 data types, detailed description elementary MQHCONFIG 148 PMQFUNC 148 structure MQZAC 185 MQZAD 188 MQZED 192 MQZFP 194 MQZIC 196 Daylight saving time 12 dead-letter header, MQDLH 81 dead-letter queues defining a dead-letter queue 25 description of 7 default objects introduction 10 list of 462 DefaultQueueManager stanza, mqs.ini 126 defining alias queue 27 application queue for triggering 30 dead-letter queue 25 initiation queue 31 local queue 24 model queue 28 WebSphere MQ queues 5 Delete Message Queue Manager command 349
480
Delete MQ AuthInfo object command 350 Delete MQ Channel command 350 Delete MQ Listener command 351 Delete MQ Namelist command 352 Delete MQ Process command 352 Delete MQ Queue command 353 Delete MQ Service command 354 Delete WebSphere MQ Publish/Subscribe broker command 350 deleting a local queue 26 DESTQ keyword, rules table 83 DESTQM keyword, rules table 83 determining problems See problem determination diagnostic information, obtaining 111 directories, queue manager 77 Disconnect MQ command 354 display default object attributes 25 process definitions 32 status of command server 41 Display Message Queue Manager command 354 Display MQ AuthInfo object command 356 Display MQ Channel command 357 Display MQ Command Server command 359 Display MQ Listener command 359 Display MQ Namelist command 360 Display MQ Object Authority command 355 Display MQ Object Names command 361 Display MQ Process command 362 Display MQ Queue command 363 Display MQ Route Information command 364 Display MQ Service command 370 Display MQ Version command 370 Display Queue Manager Status command 369 Display WebSphere MQ Publish/Subscribe broker command 357 distributed queuing example 32 DLQ handler invoking 81 rules table 82 DLTMQM command 349 DLTMQMAUTI command 350 DLTMQMBRK command 350 DLTMQMCHL command 350 DLTMQMLSR command 351 DLTMQMNL command 352 DLTMQMPRC command 352 DLTMQMQ command 353 DLTMQMSVC command 354 DSCMQM command 354 DSPMQM command 354 DSPMQMAUT command 73, 355 DSPMQMAUTI command 356 DSPMQMBRK command 357 DSPMQMCHL command 357 DSPMQMCSVR command 359 DSPMQMLSR command 359
DSPMQMNL command 360 DSPMQMOBJN command 361 DSPMQMPRC command 362 DSPMQMRTE command 364 DSPMQMSTS command 369 DSPMQMSVC command 370 DSPMQMVER command 370 dynamic binding 142 dynamic queues authorizations 77 description of 3
E
EBCDIC NL character conversion to ASCII 125 EffectiveUserID field MQZAC structure 186 End Message Queue Manager command 371 End MQ Channel command 373 End MQ Command Server command 375 End MQ Listeners command 375 End MQ Service command 376 End Queue Manager Connection command 374 End WebSphere MQ Publish/Subscribe broker command 373 ENDCCTJOB(*YES) 471 ENDMQM ENDCCTJOB(*YES) 471 ENDMQM command 371 ENDMQMBRK command 373 ENDMQMCHL command 373 ENDMQMCONN command 374 ENDMQMCSVR command 375 ENDMQMLSR command 375 ENDMQMSVC command 376 EntityDataPtr field MQZAD structure 189 EntityDomainPtr field MQZED structure 192 EntityName parameter check authority call 151 get authority call 166 get explicit authority call 169 set authority call 180 EntityNamePtr field MQZED structure 192 EntityType field MQZAD structure 190 EntityType parameter check authority call 151 get authority call 166 get explicit authority call 169 set authority call 180 EntryPoint parameter MQZEP call 147 Environment field MQZAC structure 186 environment variables MQSPREFIX 125 error logs errors occurring before log established 115 example, WebSphere MQ 116
error logs (continued) log files 115 escape PCFs 38 event queues, description of 8 examples creating a transmission queue 23 creating an alias queue 23 creating local queues using the CRTMQMQ command 19 using the WRKMQMQ command 20 creating remote queues as a queue manager alias 22 as a remote queue definition 21 as an alias to a reply-to queue 22 error log, WebSphere MQ 116 mqs.ini file 135 qm.ini file 136 ExitProperties stanza, mqs.ini 126 extending queue manager facilities 11
F
failover performance 101 FEEDBACK keyword, rules table 83 FFST (first-failure support technology) 117 file names 461 files IFS directories 462 log files, in problem determination 115 queue manager configuration 124 understanding names 461 WebSphere MQ configuration 124 Filter parameter enumerate authority data call 161 FORMAT keyword, rules table 84 formatting trace 114 FreeParms parameter free user call 164 function MQZ_REFRESH_CACHE 178 Function parameter MQZEP call 147 FWDQ keyword, rules table 85 FWDQM keyword, rules table 85
G
generic profiles 72 Grant MQ Object Authority command 377 GRTMQMAUT command 73, 377
H
Hconfig parameter initialize authorization service call 172 MQZEP call 147 terminate authorization service call 183 HEADER keyword, rules table 85 Index
481
I
IdentityContext parameter authenticate user call 149 initialization 141 initiation queues defining 31 description of 7 INPUTQ keyword, rules table 82 INPUTQM keyword, rules table 82 installable service authorization service 143 component authenticate user 149 check authority 151 copy all authority 156 delete authority 159 enumerate authority data 161 free user 164 get authority 166 get explicit authority 169 initialize authorization service 172 inquire authorization service 174 MQZEP 147 set authority 180 terminate authorization service 183 Component data 141 component entry-points 140 components 140 configuring services 142 functions 140 initialization 141 interface to 146 return information 140 installable services 178 installed authorization service specifying 73 installed authorization service, Specifying the 73 IntAttrCount parameter inquire authorization service call 174 IntAttrs parameter inquire authorization service call 175
local queues (continued) copying a local queue definition 25 defining 24 defining application queues for triggering 30 deleting 26 description of 5 specific queues used by WebSphere MQ 6 working with local queues 24 Log stanza, qm.ini 128 logical unit of work, definition of 12 logs configuring 128 errors occurring before error log established 115 log files, in problem determination 115 Log stanza, qm.ini 128
M
managing objects for triggering 29 maximum line length, MQSC commands 37 media images introduction 94 recovery 95 message length, decreasing 26 message persistence, performance considerations 119 message queuing 1 message-driven processing 1 messages application data 2 containing unexpected information 110 definition of 1 message descriptor 2 message lengths 2 message-driven processing 1 not appearing on queues 109 operator messages 115 queuing 1 retrieval algorithms 3 retrieving messages from queues 3 sending and receiving 2 undelivered 117 model queues creating a model queue 3 defining 28 working with 28 MQAI, description of 38 MQDLH, dead-letter header 81 MQHCONFIG 148 MQI (message-queuing interface) authorization specification tables 59 authorizations 59 definition of 1 queue manager calls 5 receiving messages 2 sending messages 2 MQI authorizations 59 MQOPEN authorizations 59 MQOT_* values 189 MQPUT and MQPUT1, performance considerations 120
J
journals backup 96 introduction 91 managing 97 restoring 99 using 93
MQPUT authorizations 59 mqs.ini configuration file AllQueueManagers stanza 125 DefaultQueueManager stanza 126 definition of 123 editing 123 ExitProperties stanza 126 priorities 124 QueueManager stanza 127 MQSC commands authorization 62 command files, input 37 escape PCFs 38 maximum line length 37 object attribute names 4 overview 36 MQSPREFIX, environment variable 125 MQZ_AUTHENTICATE_USER call 149 MQZ_CHECK_AUTHORITY call 151 MQZ_COPY_ALL_AUTHORITY call 156 MQZ_DELETE_AUTHORITY call 159 MQZ_ENUMERATE_AUTHORITY _DATA call 161 MQZ_FREE_USER call 164 MQZ_GET_AUTHORITY call 166 MQZ_GET_EXPLICIT_AUTHORITY call 169 MQZ_INIT_AUTHORITY call 172 MQZ_INQUIRE call 174 MQZ_REFRESH_CACHE function 178 MQZ_SET_AUTHORITY call 180 MQZ_TERM_AUTHORITY call 183 MQZAC structure 185 MQZAC_* values 185 MQZAD structure 188 MQZAD_* values 188 MQZAET_* values 190 MQZAO_* values 189 MQZAO, constants and authority 60 MQZED structure 192 MQZED_* values 192 MQZEP call 147 MQZFP structure 194 MQZFP_* values 194 MQZIC structure 196 MQZIC_* values 196 MQZSE_* values 161 MsgId, performance considerations 119 MSGTYPE keyword, rules table 84
N
namelists, description of 9 naming conventions 3 national language support EBCDIC NL character conversion to ASCII 125 operator messages 115 NL character, EBCDIC conversion to ASCII 125
L
length of object names 461 libraries, using SAVLIB to save WebSphere MQ 101 listener objects description of 9 local administration, definition of 35 local queues 24 changing queue attributes, commands to use 26 clearing 26
O
OAM (Object Authority Manager) description of 52
482
OAM (Object Authority Manager) (continued) guidelines for using 77 resources protected by 52 sensitive operations 77 object authority manager 143 object names 4 ObjectName parameter check authority call 151 copy all authority call 156 delete authority call 159 get authority call 166 get explicit authority call 169 set authority call 180 objects access to 51 administration of 35 attributes of 4 automation of administration tasks 37 channels, description of 8 client connection channels, description of 9 clusters, description of 9 creating 19 default object attributes, displaying 25 generic profiles 72 listeners, description of 9 local queues 5 managing objects for triggering 29 multiple queues 5 namelist, description of 9 naming conventions 4 process definitions 10 queue manager objects used by MQI calls 5 queue managers 5 queue objects, using 6 remote queues 5 service, description of 10 system default objects 10 using MQSC commands to administer 36 ObjectType field MQZAD structure 189 ObjectType parameter check authority call 152 copy all authority call 156 delete authority call 159 get authority call 166 get explicit authority call 169 set authority call 180 operator commands, no response from 107 messages 115 Options field MQZAD structure 190 Options parameter initialize authorization service call 172 terminate authorization service call 183 OS/400 message queue 111
P
pattern-matching keywords, rules table 83 PCF (programmable command format) administration tasks 37 attributes in PCFs 38 authorization specification tables 59 automating administrative tasks using PCF 37 escape PCFs 38 MQAI, using to simplify use of 38 object attribute names 4 performance considerations application design 119 CorrelId 119 message persistence 119 MQPUT and MQPUT1 120 MsgId 119 syncpoint 120 trace 112 variable length 120 permanent (predefined) queues 3 PERSIST keyword, rules table 84 Ping MQ Channel command 382 PMQFUNC 148 PNGMQMCHL command 382 predefined (permanent) queues 3 primary initialization 141 primary termination 141 problem determination application design 119 applications 108 command errors 106 dead-letter queues 117 diagnostic information 111 distributed queues 110 error logs 114 error logs in the IFS 111 errors occurring before error log established 115 FFST (first-failure support technology) 117 introduction 103 log files 115 message length 119 message persistence 119 messages 109 no response from commands 107 operator messages 115 OS/400 message queue 111 performance 119 preliminary checks network effects 106 operating system 106 problem affects all users 106 problem intermittent 106 problem occurs at specific times 107 problem that can be reproduced 105 problem characteristics 105 programming errors 104 queue problems 108 remote queues 108 sample error log 116 storage 120 syncpoint frequency 120
problem determination (continued) system history log 111 threads 120 trace 112 undelivered messages 117 unexpected message information 110 users job log 111 WebSphere MQ job log 111 process definitions creating 31 description of 10 displaying 32 ProcessId field MQZAC structure 186 processing, message-driven 1 ProfileName field MQZAD structure 189 programmable command format (PCF) See PCF (programmable command format) programming errors, examples of 104 protected resources 52 PUTAUT keyword, rules table 85
Q
qm.ini configuration file Channels stanza 128 definition of 124 editing 123 Log stanza 128 priorities 124 queue manager error log stanza 130 TCP stanza 131 QMgrName parameter authenticate user call 149 check authority call 151 copy all authority call 156 delete authority call 159 enumerate authority data call 161 free user call 164 get authority call 166 get explicit authority call 169 initialize authorization service call 172 inquire authorization service call 174 set authority call 180 terminate authorization service call 183 QMQM work management object 45 QMQMJOBD work management object 45 QMQMMSG work management object 45 QMQMRUN20 work management object 45 QMQMRUN35 work management object 45 QMQMRUN50 work management object 45 QTIMZON 12 queue manager ini file authorization service 144 restoring complete 99 queue manager error log stanza, qm.ini 130 Index
483
queue manager ini file 144 queue managers attributes, changing 24 authorizations 77 command server 40 description of 5 directories 77 extending queue manager facilities 11 name transformation 461 object authority manager, description 52 objects used in MQI calls 5 qm.ini files 124 QueueManager stanza, mqs.ini 127 queues alias 26 application queues 30 attributes 5 authorizations to 77 changing queue attributes 26 clearing local queues 26 dead-letter, defining 25 defining WebSphere MQ queues 5 definition of 2 deleting a local queue 26 dynamic (temporary) queues 3 extending queue manager facilities 11 initiation queues 31 local queues 5 local, working with 24 model queues 3, 28 multiple queues 5 predefined (permanent) queues 3 queue managers, description of 5 queue objects, using 6 retrieving messages from 3 specific local queues used by WebSphere MQ 6 quiescing WebSphere MQ systems 471
R
RCDMQMIMG command 382 RCRMQMOBJ command 384 REASON keyword, rules table 84 Reason parameter authenticate user call 150 check authority call 154 copy all authority call 157 delete authority call 160 enumerate authority data call 163 free user call 165 get authority call 167 get explicit authority call 170 initialize authorization service call 173 inquire authorization service call 176 MQZEP call 147 set authority call 181 terminate authorization service call 184 Record MQ Object Image command 382 recovery introduction 91
recovery (continued) media images 94 performance 101 using journals 93 Recreate MQ Object command 384 RefObjectName parameter copy all authority call 156 Refresh MQ Cluster command 386 Refresh WebSphere MQ Authority command 386 remote administration command server 40 definition of remote administration 35 remote queues authorizations to 77 examples of creating 21 security considerations 78 reply-to queues, description of 8 REPLYQ keyword, rules table 84 REPLYQM keyword, rules table 84 Reserved field MQZFP structure 194 Reset Cluster command 389 Reset MQ Channel command 388 Resolve MQ Channel command 390 resources, updating under syncpoint control 12 restart introduction 91 media images 94 performance 101 using journals 93 restoring complete queue manager 99 journal receivers 100 restricting access to MQM objects 51 Resume Cluster Queue Manager command 387 retrieval algorithms for messages 3 RETRY keyword, rules table 85 RETRYINT keyword, rules table 82 Revoke MQ Object Authority command 391 RFRMQMAUT command 386 RFRMQMCL command 386 RSMMQMCLQM command 387 RSTMQMCHL command 388 RSTMQMCL command 389 RSVMQMCHL command 390 rules table, DLQ handler control data entry INPUTQ keyword 82 INPUTQM keyword 82 RETRYINT keyword 82 WAIT keyword 82 example of 89 patterns and actions (rules) ACTION keyword 84 APPLIDAT keyword 83 APPLNAME keyword 83 APPLTYPE keyword 83 DESTQ keyword 83 DESTQM keyword 83 FEEDBACK keyword 83 FORMAT keyword 84 FWDQ keyword 85
rules table, DLQ handler (continued) patterns and actions (rules) (continued) FWDQM keyword 85 HEADER keyword 85 introduction 83 MSGTYPE keyword 84 PERSIST keyword 84 PUTAUT keyword 85 REASON keyword 84 REPLYQ keyword 84 REPLYQM keyword 84 RETRY keyword 85 USERID keyword 84 processing 87 syntax 86 RUNMQCHI task 44 RUNMQCHL task 44 RUNMQDLQ task 44 RUNMQLSR task 44 RUNMQSC command 391 RUNMQTRM task 44 RVKMQMAUT command 73, 391
S
saving time, Daylight 12 SAVLIB, using to save WebSphere MQ libraries 101 secondary initialization 141 secondary termination 141 secure sockets layer (SSL) MQSC commands 79 protecting channels 78 security administration authorizations 62 command security requirements 78 considerations 51 context authority 78 MQI authorizations 59 object authority manager (OAM) 52 remote queues 78 resources protected by the OAM 52 sensitive operations, OAM 77 WebSphere MQ authorities 52 security enabling interface (SEI) 143 SecurityId field MQZED structure 193 SecurityParms parameter authenticate user call 149 SEI (WebSphere MQ security enabling interface) 143 SelectorCount parameter inquire authorization service call 174 SelectorReturned parameter inquire authorization service call 175 Selectors parameter inquire authorization service call 174 sensitive operations, OAM 77 servers 10 See clients and servers service component authorization 143 creating your own 143 stanza 142 service objects description of 10 service stanza 142
484
SPDMQMCLQM command 396 specifying the installed authorization service 73 Spring time change 12 SSL (secure sockets layer) See secure sockets layer (SSL) stanza authorization service 144 stanzas AllQueueManagers, mqs.ini 125 Channels, qm.ini 128 DefaultQueueManager, mqs.ini 126 ExitProperties, mqs.ini 126 Log, qm.ini 128 queue manager error log, qm.ini 130 QueueManager, mqs.ini 127 TCP, qm.ini 131 Start Message Queue Manager command 396 Start MQ Channel command 398 Start MQ Channel Initiator command 399 Start MQ Command Server command 399 Start MQ Listener command 401 Start MQ Service command 404 Start MQ Trigger Monitor command 405 Start WebSphere MQ Commands command 402 Start WebSphere MQ DLQ Handlercommand 400 Start WebSphere MQ Publish/Subscribe broker command 398 StartEnumeration parameter enumerate authority data call 161 starting a command server 41 stopping a command server 41 storage problems 120 STRMQM command 396 STRMQMBRK command 398 STRMQMCHL command 398 STRMQMCHLI command 399 STRMQMCSVR command 399 STRMQMDLQ command 81, 400 STRMQMLSR command 401 STRMQMMQSC command 402 STRMQMSVC command 404 STRMQMTRM command 405 StrucId field MQZAC structure 185 MQZAD structure 188 MQZED structure 192 MQZFP structure 194 MQZIC structure 196 SupportPac MS03 15 SupportPac MS03 15 Suspend Cluster Queue Manager command 396 syncpoint, performance considerations 120 system default objects 10 system history log 111 system objects 462
T
tasks, WebSphere MQ 43 TCP stanza, qm.ini 131 temporary (dynamic) queues 3 termination 141 ThreadID field MQZAC structure 186 time change, Autumn 12 time change, Spring 12 time-independent applications 1 time, Daylight saving 12 trace data formatting 114 lifetime of 112 selective 112 usage of 112 wrapping 113 Trace MQ command 405 trace, performance considerations 112 transactional support, updating under syncpoint control 12 transmission queues cluster transmission queues 7 description of 7 TRCMQM command 405 trigger monitor description 29 job submission attributes 29 triggering defining an application queue for triggering 30 description 29 managing objects for triggering 29 message-driven processing 1 setting up objects 30
W
WAIT keyword, rules table 82 WebSphere MQ creating objects 19 job log 111 security enabling interface (SEI) 143 WebSphere MQ Explorer description of 39 prerequisite software 40 required resource definitions 40 WebSphere MQ for iSeries backups of data 96 CL commands 15 journal management 97 journal usage 93 journals 91 media images 94 quiescing 471 recovery from media images 95 restoring a complete queue manager 99 restoring journal receivers 100 WebSphere MQ objects, creating 19 WebSphere MQ tasks 43 work management objects 44 tasks 43 using 45 Work with AuthInfo objects command 413 Work with MQ Authority command 410 Work with MQ Authority Data command 411 Work with MQ Channel Status command 422 Work with MQ Channels command 414 Work with MQ Cluster Queues command 434 Work with MQ Clusters command 427 Work with MQ Connections command 436 Work with MQ Listeners command 439 Work with MQ Messages command 441 Work with MQ Namelist command 442 Work with MQ Processes command 443 Work with MQ Queue Manager command 409 Work with MQ Queues command 445 Work with MQ Service object command 456 Work with MQ Transactions command 458 Work with Queue Status command 455 working with authority profiles 74 working without authority profiles 73 wrapping trace 113 WRKMQM command 409 WRKMQMAUT command 74, 410 WRKMQMAUTD command 75, 411 WRKMQMAUTI command 413 WRKMQMCHL command 414 WRKMQMCHST command 422 WRKMQMCL command 427 WRKMQMCLQ command 434 WRKMQMCONN command 436 WRKMQMLSR command 439 WRKMQMMSG command 441 Index
U
undelivered message queue See dead-letter queues user exits channel exits 11 data conversion exits 11 users job log 111 UserID field MQZAC structure 186 USERID keyword, rules table 84 UserIdentifier field MQZIC structure 197 using CL commands 15 using SAVLIB to save WebSphere MQ libraries 101
V
variable length, performance considerations 120 Version field MQZAC structure 185 MQZAD structure 188 MQZED structure 192 MQZFP structure 194 MQZIC structure 196 Version parameter initialize authorization service call 173
485
WRKMQMNL command 442 WRKMQMPRC command 443 WRKMQMQ command 445 WRKMQMQSTS command 455 WRKMQMSVC command 456 WRKMQMTRN command 458
486
487
488
SC34-6586-00
Spine information:
Version 6.0