Una serie di comportamenti e vincoli che vengono applicati alle attività che sono in grado di esecuzione asincrona, come simultaneità massima e dimensione massima della coda.
Name | Type | Default | Description |
---|---|---|---|
id | stringa | Un ID di configurazione univoco. | |
maxPolicy |
| loose | Indica se applicare la simultaneità massima in modo rigido o meno, per le attività eseguite sul thread del mittente attività. Le attività possono essere eseguite sul thread del mittente attività quando si utilizza il metodo invokeAll illimitato o, se si richiama solo una attività, il metodo invokeAny illimitato. Se è configurato l'attributo Esegui se la coda è piena, è anche possibile per le attività eseguire il thread del mittente attività quando si utilizzano i metodi di esecuzione e inoltro. In tutti questi casi, questo attributo determina se l'esecuzione o meno sul thread del mittente conta rispetto alla simultaneità massima. loose Simultaneità massima applicata debolmente. Le attività possono essere eseguite sul thread del mittente attività senza essere considerate rispetto alla simultaneità massima. strict Simultaneità massima applicata rigidamente. Le attività eseguite sul thread del mittente attività contano rispetto alla simultaneità massima. Questa politica non consente di eseguire le attività sul thread del mittente attività quando si è già alla simultaneità massima. |
maxWaitForEnqueue | Un periodo di tempo con precisione al millisecondo | 0 | Specifica la durata massima di tempo di attesa per l'accodamento di una attività. Se non è possibile accodare l'attività entro questo intervallo, l'inoltro dell'attività è soggetto alla politica Esegui se la coda è piena. Quando l'attesa massima per l'accodamento è aggiornata, l'aggiornamento si applica solo alle attività inoltrata dopo quel punto. Le attività inoltrate già in attesa di una posizione nella coda continueranno ad attendere per il valore precedentemente configurato. Specificare un numero intero positivo seguito da un'unità di tempo, che può essere ore (h), minuti (m), secondi (s) o millisecondi (ms). Ad esempio, specificare 500 millisecondi come 500ms. È possibile includere più valori in una singola immissione. Ad esempio, 1s500ms è equivalente a 1,5 secondi. |
runIfQueueFull | booleano | false | Si applica quando si utilizzano i metodi <execute> o <submit>. Indica se eseguire o meno l'attività sul thread del mittente quando la coda è piena e l'attesa massima per l'accodamento è stata superata. Se la politica massima è configurata per essere rigida, la capacità di utilizzare il thread del mittente è condizionata anche al vincolo di simultaneità massimo. Se l'attività non può essere eseguita sul thread del mittente, l'inoltro dell'attività viene rifiutato una volta trascorso il tempo di attesa massimo per l'accodamento. |
max | int Min: 1 | Specifica il numero massimo di attività che possono essere eseguite contemporaneamente. Il valore predefinito è Integer.MAX_VALUE. La simultaneità massima può essere aggiornata mentre le attività sono in corso. Se la simultaneità massima viene ridotta al di sotto del numero di attività in esecuzione simultaneamente, l'aggiornamento va in vigore gradualmente, mano a mano che si completano le attività in corso, invece di annullarle. | |
maxQueueSize | int Min: 1 | Specifica il numero massimo di attività che possono essere nella coda in attesa di esecuzione. Mano a mano che le attività sono avviate, annullate o interrotte, vengono rimosse dalla coda. Quando la coda è a capacità e viene inoltrata un'altra attività, il comportamento viene determinato dall'attesa massima degli attributi Accoda e Esegui se la coda è piena. Per garantire che un numero specifico di attività possa essere accodato in un breve intervallo di tempo, utilizzare una dimensione massima della coda che sia almeno grande quanto quella quantità. Il valore predefinito per la dimensione massima della coda è Integer.MAX_VALUE. La dimensione coda massima può essere aggiornata mentre le attività sono in corso o in coda per l'esecuzione. Se la dimensione coda massima viene ridotta al di sotto del numero corrente di attività accodate, l'aggiornamento va in vigore gradualmente, invece di annullare automaticamente le attività accodate in eccesso. | |
startTimeout | Un periodo di tempo con precisione al millisecondo | Specifica la quantità massima di tempo che può passare tra l'inoltro dell'attività e l'avvio. Per impostazione predefinita, le attività non scadono. Se sono abilitati sia l'attesa massima di accodamento che il timeout di avvio, configurare il timeout di avvio in modo che sia maggiore dell'attesa massima di accodamento. Quando il timeout di avvio viene aggiornato mentre in uso, il nuovo valore di timeout di avvio si applica alle attività inoltrate dopo l'aggiornamento. Specificare un numero intero positivo seguito da un'unità di tempo, che può essere ore (h), minuti (m), secondi (s) o millisecondi (ms). Ad esempio, specificare 500 millisecondi come 500ms. È possibile includere più valori in una singola immissione. Ad esempio, 1s500ms è equivalente a 1,5 secondi. |