1. Tipos de fila
| Tipo | MQSC | Função |
|---|---|---|
| Local Queue | QLOCAL | Fila física — as mensagens residem aqui neste Queue Manager |
| Remote Queue | QREMOTE | Alias para fila em outro Queue Manager — direciona para canal de transmissão |
| Alias Queue | QALIAS | Apelido para outra fila local — permite múltiplos nomes para a mesma fila |
| Model Queue | QMODEL | Template para criar filas dinâmicas — não armazena mensagens |
| Transmission Queue | QLOCAL com USAGE(XMITQ) | Fila intermediária que armazena mensagens a caminho de outro QM |
| Dead Letter Queue | QLOCAL | Repositório de mensagens que não puderam ser entregues |
2. QLOCAL — filas locais
A fila local é o tipo mais fundamental — onde as mensagens realmente ficam armazenadas:
Parâmetros importantes de QLOCAL:
| Parâmetro | Descrição |
|---|---|
MAXDEPTH(n) | Número máximo de mensagens na fila simultaneamente |
MAXMSGL(n) | Tamanho máximo de mensagem em bytes (padrão: 4MB) |
DEFPSIST(YES/NO) | Persistência padrão — YES = gravada em disco (sobrevive a reinicialização) |
GET(ENABLED/DISABLED) | Permite ou bloqueia leituras da fila |
PUT(ENABLED/DISABLED) | Permite ou bloqueia gravações na fila |
USAGE(NORMAL/XMITQ) | XMITQ = fila de transmissão para canais |
BOQNAME(fila) | Backout Queue — destino de mensagens após N falhas de processamento |
BOTHRESH(n) | Backout threshold — número de tentativas antes de mover para BOQNAME |
💡 DEFPSIST e performance
DEFPSIST(YES) garante que mensagens sobrevivem a uma queda do Queue Manager — elas são gravadas em disco antes de o PUT retornar. DEFPSIST(NO) (non-persistent) é muito mais rápido mas perde mensagens em caso de falha. Para sistemas bancários, sempre use YES em filas de negócio. Use NO apenas para dados temporários como dados de sessão.
3. QREMOTE e QALIAS
A fila remota define um destino em outro Queue Manager — quando uma aplicação faz PUT para ela, o MQ encaminha a mensagem pelo canal adequado:
Alias queues são muito úteis em migrações — quando você renomeia uma fila, cria um alias com o nome antigo para não quebrar aplicações que ainda usam o nome original.
4. QMODEL — filas dinâmicas
Filas dinâmicas são criadas em tempo de execução a partir de um modelo. São usadas para filas de resposta — cada aplicação cria sua própria fila temporária para receber a resposta de uma requisição:
Tipos de fila dinâmica (DEFTYPE):
| DEFTYPE | Comportamento |
|---|---|
TEMPDYN | Temporária — deletada automaticamente quando o MQCLOSE for chamado |
PERMDYN | Permanente — persiste após o MQCLOSE; deve ser deletada explicitamente |
SHAREDYN | Compartilhada — acessível por outras aplicações enquanto existir (z/OS Sysplex) |
5. DISPLAY — consultando objetos
O comando DISPLAY consulta o estado atual de qualquer objeto MQ:
6. Queue Manager — atributos e MQSC
O Queue Manager também é um objeto com atributos configuráveis: