Campi in MQWXP - Struttura dei parametri di uscita del carico di lavoro del cluster
Descrizione dei campi in MQWXP - Struttura del parametro di uscita del carico di lavoro del cluster
- StrucId ( MQCHAR4 ) - immissione
- L'identificativo della struttura per la struttura del parametro di uscita del carico di lavoro cluster.
- Il valore StrucId è
MQWXP_STRUC_ID. - Per il linguaggio di programmazione C, viene definita anche la costante
MQWXP_STRUC_ID_ARRAY. Ha lo stesso valore diMQWXP_STRUC_ID. Si tratta di un array di caratteri invece di una stringa.
- Il valore StrucId è
- Versione ( MQLONG ) - immissione
- Indica il numero di versione della struttura. Versione assume uno dei seguenti valori:
MQWXP_VERSION_1- Version-1 struttura del parametro di uscita del carico di lavoro del cluster.
MQWXP_VERSION_2- Struttura del parametro di uscita del carico di lavoro del cluster Version-2 .
MQWXP_VERSION_3- Struttura del parametro di uscita del carico di lavoro del cluster Version-3 .
MQWXP_VERSION_4- Version-4 struttura del parametro di uscita del carico di lavoro del cluster.
MQWXP_CURRENT_VERSION- La versione corrente della struttura del parametro di uscita del carico di lavoro del cluster.
- ExitId ( MQLONG ) - immissione
- Indica il tipo di uscita richiamata. L'uscita del carico di lavoro del cluster è l'unica uscita supportata.
- Il valore ExitId deve essere
MQXT_CLUSTER_WORKLOAD_EXIT
- Il valore ExitId deve essere
- ExitReason ( MQLONG ) - immissione
- Indica il motivo per richiamare l'uscita del carico di lavoro del cluster. ExitReason assume uno dei seguenti valori:
MQXR_INIT- Indica che l'uscita viene richiamata per la prima volta.
MQXR_TERM- Indica che l'uscita sta per essere terminata.
MQXR_CLWL_OPEN- Richiamato da MQOPEN.
MQXR_CLWL_PUT- Richiamato da MQPUT o MQPUT1.
MQXR_CLWL_MOVE- Richiamato da MCA quando lo stato del canale è cambiato.
MQXR_CLWL_REPOS- Richiamato da MQPUT o MQPUT1 per un messaggio PCF del gestore repository.
MQXR_CLWL_REPOS_MOVE- Richiamato da MCA per un messaggio PCF del gestore repository se lo stato del canale è stato modificato.
- ExitResponse ( MQLONG ) - output
- Impostare ExitResponse per indicare se l'elaborazione del messaggio continua. Deve essere uno dei seguenti valori:
MQXCC_OK- Continuare l'elaborazione del messaggio normalmente.
- DestinationChosen identifica la destinazione a cui deve essere inviato il messaggio.
MQXCC_SUPPRESS_FUNCTION- Interrompere l'elaborazione del messaggio.
- Le azioni intraprese dal gestore code dipendono dal motivo per cui è stata richiamata l'exit:
Tabella 1. Azioni eseguite dal gestore code. Questa tabella contiene due colonne. La prima colonna elenca i motivi di uscita e la seconda colonna descrive l'azione eseguita per ciascun motivo di uscita.
ExitReason Azione eseguita MQXR_CLWL_OPENMQXR_CLWL_REPOSMQXR_CLWL_PUT
La chiamata MQOPEN, MQPUTo MQPUT1 non riesce con codice di completamento MQCC_FAILEDe codice motivoMQRC_STOPPED_BY_CLUSTER_EXIT.MQXR_CLWL_MOVEMQXR_CLWL_REPOS_MOVE
Il messaggio viene inserito nella coda di messaggi non recapitabili.
- Le azioni intraprese dal gestore code dipendono dal motivo per cui è stata richiamata l'exit:
MQXCC_SUPPRESS_EXIT- Continuare normalmente l'elaborazione del messaggio corrente. Non richiamare nuovamente l'uscita fino a quando il gestore code non viene arrestato.
- Qualsiasi altro valore
- Elaborare il messaggio come se
MQXCC_SUPPRESS_FUNCTIONfosse specificato.
- ExitResponse2 ( MQLONG ) - input/output
- Impostare ExitResponse2 per fornire al gestore code ulteriori informazioni.
MQXR2_STATIC_CACHEè il valore predefinito ed è impostato all'entrata dell'uscita.- Quando ExitReason ha il valore
MQXR_INIT, l'uscita può impostare uno dei seguenti valori in ExitResponse2:MQXR2_STATIC_CACHE- L'uscita richiede una cache cluster statico.
- Se la cache del cluster è statica, l'uscita non deve utilizzare la chiamata MQXCLWLN per navigare nelle catene di record nella cache del cluster.
- Se la cache del cluster è dinamica, l'uscita non può navigare correttamente tra i record nella cache.Nota: il gestore code elabora la restituzione dalla chiamata
MQXR_INITcome se l'exit avesse restituitoMQXCC_SUPPRESS_EXITnel campo ExitResponse .
MQXR2_DYNAMIC_CACHE- L'uscita può funzionare con una cache statica o dinamica.
- Se l'uscita restituisce questo valore, l'uscita deve utilizzare la chiamata MQXCLWLN per navigare nelle catene di record nella cache del cluster.
- Feedback ( MQLONG ) - immissione
- Un campo riservato. Il valore è zero.
- Indicatori ( MQLONG ) - immissione
- Indica le informazioni sul messaggio da inserire.
- Il valore di Indicatori è
MQWXP_PUT_BY_CLUSTER_CHL. Il messaggio ha origine da un canale cluster, piuttosto che localmente o da un canale non cluster. In altre parole, il messaggio proviene da un altro gestore code del cluster.
- Il valore di Indicatori è
- Riservato ( MQLONG ) - immissione
- Un campo riservato. Il valore è zero.
- ExitUserArea ( MQBYTE16 ) - ingresso/uscita
- Impostare ExitUserArea per comunicare tra le chiamate all'uscita.
- ExitUserArea è inizializzato a zero binario prima della prima invocazione dell'uscita. Tutte le modifiche apportate a questo campo dall'uscita vengono conservate nei richiami dell'uscita che si verificano tra la chiamata MQCONN e la chiamata MQDISC corrispondente. Il campo viene reimpostato su zero binario quando si verifica la chiamata MQDISC .
- Il primo richiamo dell'exit è indicato dal campo ExitReason con valore
MQXR_INIT. - Sono definite le seguenti costanti:
MQXUA_NONE- stringaMQXUA_NONE_ARRAY- array di caratteri- Nessuna informazione utente. Entrambe le costanti sono zero binario per la lunghezza del campo.
MQ_EXIT_USER_AREA_LENGTH- La lunghezza di ExitUserArea.
- ExitData ( MQCHAR32 ) - immissione
- Il valore dell'attributo ClusterWorkloadData dell'attributo queue-manager. Se non è stato definito alcun valore per tale attributo, questo campo è vuoto.
- La lunghezza di ExitData è fornita da
MQ_EXIT_DATA_LENGTH.
- La lunghezza di ExitData è fornita da
- MsgDescPtr ( PMQMD ) - ingresso
- L'indirizzo di una copia del descrittore del messaggio ( MQMD ) per il messaggio in fase di elaborazione.
- Tutte le modifiche apportate al descrittore del messaggio dall'uscita vengono ignorate dal gestore code.
- Se ExitReason ha uno dei seguenti valori MsgDescPtr è impostato sul puntatore null e non viene passato alcun descrittore di messaggio all'uscita:
MQXR_INITMQXR_TERMMQXR_CLWL_OPEN
- MsgBufferPtr ( PMQVOID ) - ingresso
- L'indirizzo di un buffer contenente una copia dei primi MsgBufferLength dei dati del messaggio.
- Tutte le modifiche apportate ai dati del messaggio dall'uscita vengono ignorate dal gestore code.
- Nessun dato di messaggio viene passato all'uscita quando:
- MsgDescPtr è il puntatore nullo.
- Il messaggio non contiene dati.
- L'attributo ClusterWorkloadLength è pari a zero.
- MsgBufferLength ( MQLONG ) - ingresso
- La lunghezza del buffer contenente i dati del messaggio passati all'exit.
- La lunghezza è controllata dall'attributo ClusterWorkloadLength gestore della coda.
- La lunghezza potrebbe essere inferiore alla lunghezza del messaggio completo, vedere MsgLength.
- MsgLength ( MQLONG ) - immissione
- La lunghezza del messaggio completo passato all'uscita.
- MsgBufferLength potrebbe essere inferiore alla lunghezza del messaggio completo.
- MsgLength è zero se ExitReason è
MQXR_INIT,MQXR_TERMoMQXR_CLWL_OPEN.
- QName ( MQCHAR48 ) - immissione
- Il nome della coda di destinazione. La coda è una coda cluster.
- La lunghezza di QName è
MQ_Q_NAME_LENGTH.
- La lunghezza di QName è
- QMgrName ( MQCHAR48 ) - immissione
- Il nome del gestore code locale che ha richiamato l'uscita del carico di lavoro cluster.
- La lunghezza di QMgrName è
MQ_Q_MGR_NAME_LENGTH.
- La lunghezza di QMgrName è
- DestinationCount ( MQLONG ) - immissione
- Il numero di destinazioni possibili. Le destinazioni sono istanze della coda di destinazione e sono descritte dai record di destinazione.
- Un record di destinazione è una struttura MQWDR . Esiste una struttura per ogni possibile instradamento a ciascuna istanza della coda.
- Le strutture MQWDR sono indirizzate da un array di puntatori, vedi DestinationArrayPtr.
- DestinationChosen ( MQLONG ) - input/output
- La destinazione scelta.
- Il numero della struttura MQWDR che identifica l'instradamento e l'istanza della coda a cui deve essere inviato il messaggio.
- Il valore è compreso nell'intervallo 1 - DestinationCount.
- All'input per l'uscita, DestinationChosen indica l'instradamento e l'istanza della coda selezionati dal gestore code. L'uscita può accettare questa scelta o scegliere un instradamento e un'istanza della coda differenti.
- Il valore impostato dall'uscita deve essere compreso nell'intervallo 1 - DestinationCount. Se viene restituito un qualsiasi altro valore, il gestore code utilizza il valore di DestinationChosen nell'input per l'uscita.
- DestinationArrayPtr ( PPMQWDR ) - ingresso
- L'indirizzo di un array di puntatori ai record destinazione ( MQWDR ).
- Sono presenti DestinationCount record di destinazione.
- QArrayPtr ( PPMQWQR ) - immissione
- L'indirizzo di un array di puntatori ai record della coda ( MQWQR ).
- Se i record della coda sono disponibili, ci sono DestinationCount di essi.
- Se non sono disponibili record della coda, QArrayPtr è il puntatore null.Nota: QArrayPtr può essere il puntatore null anche quando DestinationCount è maggiore di zero.
- CacheContext ( MQPTR ) : Versione 2 - input
- Il campo CacheContext è riservato per l'utilizzo da parte del gestore code. L'uscita non deve modificare il valore di questo campo.
- CacheType ( MQLONG ) : Versione 2 - input
- La cache del cluster ha uno dei seguenti tipi:
MQCLCT_STATIC- La cache è statica.
- La dimensione della cache è fissa e non può aumentare con il funzionamento del gestore code.
- Non è necessario utilizzare la chiamata MQXCLWLN per esplorare i record in questo tipo di cache.
MQCLCT_DYNAMIC- La cache è dinamica.
- La dimensione della cache può aumentare in modo da contenere le informazioni sul cluster variabili.
- È necessario utilizzare la chiamata MQXCLWLN per esplorare i record in questo tipo di cache.
- CLWLMRUChannels ( MQLONG ) : Versione 3 - input
- Indica il numero massimo di canali cluster in uscita attivi, da considerare per l'utilizzo da parte dell'algoritmo di scelta del carico di lavoro cluster.
- CLWLMRUChannels è un valore compreso tra 1 e 999 999 999.
- pEntryPoints ( PMQIEP ) : Versione 4
- L'indirizzo di una struttura MQIEP tramite cui è possibile effettuare chiamate MQI e DCI.