![[V8.0.0.4 ott 2015]](ng8004.gif)
Applicazione di tempi di scadenza più bassi
Gli amministratori possono limitare la scadenza di qualsiasi messaggio inserito in una coda o in un argomento utilizzando l'attributo CAPEXPRY specificato nell'attributo CUSTOM nella coda o nell'argomento.
Per abilitare questa funzione su z/OS®, è necessario applicare l'APAR PI50761 e abilitare la nuova funzione con il comando MQSC RECOVER QMGR (TUNE
CAPEXPRY ON).
È possibile immettere il comando da una console o dalla configurazione del gestore code, aggiungendo un file elaborato nella concatenazione CSQINP2 durante l'avvio del gestore code. Tenere presente che l'effetto del comando non persiste al riavvio del gestore code.
Una data di scadenza specificata nel campo Expiry di MQMD, da un'applicazione, che è maggiore del valore CAPEXPRY specificato nell'attributo CUSTOM nella coda o nell'argomento, verrà sostituito da tale valore CAPEXPRY . Verrà utilizzata un'ora di scadenza specificata da un'applicazione, che è inferiore al valore CAPEXPRY .
Notare che il valore di CAPEXPRY è espresso in decimi di secondi, quindi un minuto ha un valore di 600.
Se viene utilizzato più di un oggetto nel percorso di risoluzione, ad esempio quando un messaggio viene inserito in un alias o in una coda remota, il valore più basso di tutti i valori CAPEXPRY viene utilizzato come limite superiore per la scadenza del messaggio.
Le modifiche ai valori CAPEXPRY diventano immediatamente effettive. Il valore di scadenza viene valutato per ogni inserimento in una coda o in un argomento e quindi è sensibile alla risoluzione dell'oggetto, che può differire tra ogni operazione di inserimento.
Tuttavia, notare che i messaggi esistenti nella coda, prima di una modifica in CAPEXPRY, non sono influenzati dalla modifica (ovvero, il loro tempo di scadenza rimane intatto). Solo i nuovi messaggi inseriti in coda dopo la modifica in CAPEXPRY hanno la nuova ora di scadenza.
Ad esempio, in un cluster in cui un'operazione di inserimento viene eseguita su una coda aperta con MQOO_BIND_NOT_FIXED, ai messaggi possono essere assegnati valori di scadenza differenti per ogni operazione di inserimento, a seconda del valore CAPEXPRY impostato per la coda di trasmissione, utilizzato dal canale, che invia il messaggio al gestore code di destinazione selezionato.
Si noti che un inserimento in una coda o in un argomento da parte di un'applicazione JMS che specifica un ritardo di recapito ha esito negativo con MQRC_EXPIRY_ERROR, se il ritardo di recapito supera la scadenza risolta per la coda o l'argomento di destinazione. Un attributo CAPEXPRY impostato su una coda risolta per una destinazione JMS può causare questo errore.