IndexType (MQLONG)

Specifica il tipo di indice che il gestore code conserva per i messaggi sulla coda.

Locale Modello Alias Remoto Cluster
X X      
Il tipo di indice richiesto dipende dal modo in cui l'applicazione richiama i messaggi e se la coda è una coda condivisa o non condivisa (vedere attributo QSGDisp ). I seguenti valori sono possibili per IndexType:
MQIT_NONE
Nessun indice viene gestito dal gestore code per questa coda. Utilizzare questo valore per le code generalmente elaborate in modo sequenziale, ovvero senza utilizzare alcun criterio di selezione nella chiamata MQGET.
ID_MSG_MQIT
Il gestore code conserva un indice che utilizza gli ID dei messaggi sulla coda. Utilizzare questo valore per le code in cui l'applicazione in genere richiama i messaggi utilizzando l'identificativo del messaggio come criterio di selezione sulla chiamata MQGET.
ID CORREL_MQIT
Il gestore code conserva un indice che utilizza gli ID di correlazione dei messaggi sulla coda. Utilizzare questo valore per le code in cui l'applicazione di solito richiama i messaggi utilizzando l'identificativo di correlazione come criterio di selezione sulla chiamata MQGET.
MQIT_MSG_TOKEN
Importante: questo tipo di indice deve essere utilizzato solo per code utilizzate con il prodotto IBM® MQ Workflow for z/OS® .
Il gestore code conserva un indice che utilizza i token dei messaggi sulla coda per l'utilizzo con le funzioni WLM (workload manager) di z/OS.

È necessario specificare questa opzione per le code gestite da WLM; non specificarla per nessun altro tipo di coda. Inoltre, non utilizzare questo valore per una coda in cui un'applicazione non sta utilizzando le funzioni del gestore del carico di lavoro z/OS , ma sta richiamando i messaggi utilizzando il token del messaggio come criterio di selezione sulla chiamata MQGET.

ID_GROUP_MQIT
Il gestore code conserva un indice che usa gli identificativi di gruppo dei messaggi sulla coda. Questo valore deve essere utilizzato per le code in cui l'applicazione richiama i messaggi utilizzando l'opzione MQGMO_LOGICAL_ORDER sulla chiamata MQGET.
Una coda con questo tipo di indice non può essere una coda di trasmissione. È necessario definire una coda condivisa con questo tipo di indice per associare un oggetto CFSTRUCT a CFLEVEL (3) o superiore.
Nota:
  1. L'ordine fisico dei messaggi su una coda con tipo di indice MQIT_GROUP_ID non è definito, poiché la coda è ottimizzata per il richiamo efficiente dei messaggi utilizzando l'opzione MQGMO_LOGICAL_ORDER sulla chiamata MQGET. Ciò significa che l'ordine fisico dei messaggi non è in genere l'ordine in cui i messaggi sono arrivati sulla coda.
  2. Se una coda MQIT_GROUP_ID ha un MsgDeliverySequence di MQMDS_PRIORITY, il gestore code utilizza le priorità dei messaggi 0 e 1 per ottimizzare il richiamo dei messaggi in ordine logico. Di conseguenza, il primo messaggio in un gruppo non deve avere una priorità pari a zero o uno; in tal caso, il messaggio viene elaborato come se avesse una priorità pari a due. Il campo Priority nella struttura MQMD non viene modificato.

Per ulteriori informazioni sui gruppi di messaggi, consultare la descrizione delle opzioni del segmento e del gruppo nel campo MQGMO - Opzioni.

Il tipo di indice che deve essere utilizzato in vari casi viene visualizzato nella Tabella 1 e nella Tabella 2.
Tabella 1. Valori suggeriti o richiesti del tipo di indice della coda quando MQGMO_LOGICAL_ORDER non è specificato
Criteri di selezione sulla chiamata MQGET Tipo di indice per la coda non condivisa Tipo di indice per la coda condivisa
Nessuna Qualsiasi Qualsiasi
Selezione utilizzando un identificativo:
ID messaggio MQIT_MSG_ID suggerito MQIT_NONE o MQIT_MSG_ID richiesto; MQIT_MSG_ID suggerito
Identificativo di correlazione MQIT_CORREL_ID suggerito MQIT_CORREL_ID richiesto
ID gruppo MQIT_GROUP_ID suggerito MQIT_GROUP_ID richiesto
Selezione mediante due identificatori:
Identificativo del messaggio più identificativo di correlazione MQIT_MSG_ID o MQIT_CORREL_ID suggeriti MQIT_NONE o MQIT_MSG_ID o MQIT_CORREL_ID richiesti

(Per una maggiore efficienza, si consiglia di scegliere il tipo di indice in modo che corrisponda al campo MQMD che avrà le chiavi più distinte)

Identificativo messaggio più identificativo gruppo MQIT_MSG_ID o MQIT_GROUP_ID suggeriti Non supportato
Identificativo di correlazione più identificativo di gruppo MQIT_CORREL_ID o MQIT_GROUP_ID suggeriti Non supportato
Selezione utilizzando tre identificativi:
Identificativo del messaggio più identificativo di correlazione più identificativo del gruppo MQIT_MSG_ID o MQIT_CORREL_ID o MQIT_GROUP_ID suggeriti Non supportato
Selezione mediante criteri relativi al gruppo:
Identificativo del gruppo più numero di sequenza del messaggio MQIT_GROUP_ID richiesto MQIT_GROUP_ID richiesto
Numero di sequenza del messaggio (deve essere 1) MQIT_GROUP_ID richiesto MQIT_GROUP_ID richiesto
Selezione utilizzando il token del messaggio:
Token del messaggio per l'utilizzo dell'applicazione Non utilizzare MQIT_MSG_TOKEN
Token del messaggio per l'utilizzo di WLM MQIT_MSG_TOKEN richiesto Non supportato
Tabella 2. Valori suggeriti o richiesti del tipo di indice della coda quando MQGMO_LOGICAL_ORDER è specificato
Criteri di selezione sulla chiamata MQGET Tipo di indice per la coda non condivisa Tipo di indice per la coda condivisa
Nessuna MQIT_GROUP_ID richiesto MQIT_GROUP_ID richiesto
Selezione utilizzando un identificativo:
ID messaggio MQIT_GROUP_ID richiesto Non supportato
Identificativo di correlazione MQIT_GROUP_ID richiesto Non supportato
ID gruppo MQIT_GROUP_ID richiesto MQIT_GROUP_ID richiesto
Selezione mediante due identificatori:
Identificativo del messaggio più identificativo di correlazione MQIT_GROUP_ID richiesto Non supportato
Identificativo messaggio più identificativo gruppo MQIT_GROUP_ID richiesto Non supportato
Identificativo di correlazione più identificativo di gruppo MQIT_GROUP_ID richiesto Non supportato
Selezione utilizzando tre identificativi:
Identificativo del messaggio più identificativo di correlazione più identificativo del gruppo MQIT_GROUP_ID richiesto Non supportato

Per determinare il valore di questo attributo, utilizzare il selettore MQIA_INDEX_TYPE con la chiamata MQINQ.

questo attributo è supportato solo su z/OS.