Domanda

Ho bisogno di un metodo per essere chiamato in un App Server (Glassfish) ogni 5 secondi, qualunque cosa accada. I timer sono abbastanza affidabili per questo? Quali sono le mie opzioni.

È stato utile?

Soluzione

A meno che non ci si trovi su un sistema in tempo reale, nessun "timer" ti darà quell'accuratezza. I timer in generale forniscono un "accadrà almeno nel tempo desiderato ... ma forse più tardi" una specie di cosa.

Questa è una cosa del sistema operativo sottostante, non una cosa Java.

Modifica:

Detto questo ... intendi davvero " 5 secondi esattamente " o dopo qualche millisecondo funzionerà? Se dopo pochi millisecondi funziona, allora un timer va bene. È possibile che a volte "pochi millisecondi" potrebbero tuttavia essere diverse centinaia, a seconda di ciò che sta accadendo nel sistema (sistema operativo e cose come la garbage collection nella VM).

Altri suggerimenti

Sì, guarda usando l'API al quarzo, è l'unica API gratuita che pianifica l'API per Java che conosco. http://www.quartz-scheduler.org/

Attualmente lo sto usando in una grande applicazione finanziaria in cluster. I documenti sono un incubo ma è generalmente molto affidabile. È un prodotto affidabile che otterrai.

karl

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top