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® .
- 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:
- 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.
- Se una coda MQIT_GROUP_ID ha un
MsgDeliverySequencedi 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 campoPrioritynella 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.
| 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 |
| 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.