Impostazione dei timeout per l'aggregazione

E' possibile utilizzare due proprietà dei nodi di aggregazione per impostare i valori di timeout per l'elaborazione di messaggi aggregati.

Prima di iniziare:

Per completare questa attività, è necessario completare prima quelle che seguono:

Esistono due situazioni che potrebbero richiedere l'utilizzo di timeout:

  1. In certe situazioni si potrebbe avere la necessità di ricevere un messaggio di replica aggregato entro un tempo stabilito. La restrizione di alcuni messaggi di replica potrebbe richiedere tempo oppure tali messaggi potrebbero non arrivare mai. Per queste situazioni:
    1. Passare alla Prospettiva Sviluppo dell'applicazione broker.
    2. Aprire il flusso di messaggi fan-out.
    3. Impostare la proprietà Timeout del nodo AggregateControl per specificare per quanto tempo (in secondi) il broker deve attendere le repliche. Per impostazione predefinita, questa proprietà è impostata su 0, il che significa che non esiste timeout e il broker attende per un tempo indefinito.

    Se l'intervallo di timeout trascorre senza che siano arrivate tutte le repliche, le repliche che sono arrivate vengono trasformate in un messaggio di replica aggregato dal nodo AggregateReply corrispondente e trasmesse al relativo terminale timeout. E' possibile elaborare questo messaggio di risposta parziale allo stesso modo di un messaggio di replica aggregato completo. Se si preferisce, si può fornire un'elaborazione speciale per le repliche aggregate incomplete.

  2. Quando arriva un messaggio al terminale in di un nodo AggregateReply, viene esaminato per controllare che sia il messaggio di replica previsto. Se non viene riconosciuto, il messaggio è trasmesso al terminale unknown. Si potrebbe decidere che il broker attenda un certo periodo di tempo prima di fare questo, poiché:
    • Il messaggio di replica potrebbe arrivare prima che l'operazione eseguita dal nodo AggregateRequest sia stata sottoposta a commit in modo transazionale. Questa situazione può essere evitata configurando la proprietà Modalità transazione del nodo Input come descritto in Creazione del flusso fan-out di aggregazione.
    • Il messaggio di replica potrebbe arrivare prima del messaggio di controllo. Questa situazione può essere evitata lasciando il terminale di controllo del nodo AggregateControl non connesso. Per ulteriori informazioni circa le implicazioni relative alla connessione del terminale control, consultare Utilizzo dei messaggi di controllo nei flussi di aggregazione.

    E' molto probabile che queste situazioni si verifichino se si inviano i messaggi di richiesta al di fuori del punto di sincronizzazione e, come risultato, potrebbero essere inviate al terminale unknown delle repliche valide. Per ridurre le probabilità di questo evento:

    1. Passare alla Prospettiva Sviluppo dell'applicazione broker.
    2. Aprire il flusso di messaggi fan-in.
    3. Impostare la proprietà Timeout messaggio sconosciuto sul nodo AggregateReply. Quando si imposta questa proprietà, un messaggio che non può essere riconosciuto immediatamente come replica valida, viene conservato in modo permanente nel broker per il numero di secondi specificato per questa proprietà .

    Se l'intervallo di timeout sconosciuto scade e il messaggio viene riconosciuto, esso viene elaborato. Il nodo controlla anche se questo messaggio, precedentemente sconosciuto, sia l'ultima replica necessaria affinché un'aggregazione sia completa. In questo caso, il messaggio di replica aggregato viene creato e trasmesso.

    Se l'intervallo di timeout sconosciuto scade e il messaggio non è ancora riconosciuto, il messaggio viene trasmesso al terminale unknown.

Concetti correlati
Panoramica dei flussi di messaggi
Aggregazione del flusso di messaggi
Attività correlate
Configurazione dei flussi di aggregazione
Creazione del flusso fan-out di aggregazione
Creazione del flusso fan-in di aggregazione
Associazione dei flussi di aggregazione fan-out e fan-in
Come evitare la mancanza di thread nei flussi fan-in
Utilizzo di più nodi AggregateControl
Gestione delle eccezioni nei flussi di aggregazione
Progettazione di un flusso di messaggi
Creazione di un flusso di messaggi
Definizione del contenuto del flusso di messaggi
Utilizzo dei messaggi di controllo nei flussi di aggregazione
Riferimenti correlati
Nodo AggregateControl
Nodo AggregateReply
Nodo AggregateRequest
Informazioni particolari | Marchi | Download | Libreria | Supporto | Commenti
Copyright IBM Corporation 1999, 2006 Ultimo aggiornamento: ago 17, 2006
ac12320_