J'ai un problème étrange avec les minuteurs ... Mon minuteur fonctionne correctement lors des tests dans NetBeans, mais dès que je compile et exécute directement à partir du terminal (Ubuntu 10.4), la tâche qui est censée se produisent chaque minute exécute une fois et ne jamais exécute à nouveau ...Problème avec Java Timer
Voici mon code:
public static void main(String[] args) throws SQLException
{
// schedule db update task to occur every 15 mins
Timer timer = new Timer();
timer.scheduleAtFixedRate(new TimerTask()
{
@Override public void run()
{
doUpdate();
}
} , 0, updateInterval * 1000 * 60);
System.out.print("Starting auto update @ ");
// schedule cpu usage check to occur every 1 min
Timer cpu = new Timer();
cpu.scheduleAtFixedRate(new TimerTask()
{
@Override public void run()
{
getCPU();
}
} , 0, cpuUpdateInterval * 1000 * 60);
}
y at-il quelque chose que je fais mal?
hmm avez-vous déboguer et vérifier les valeurs de cpuUpdateInterval? pourraient-ils avoir des valeurs différentes? Cela ressemble à une plate-forme (VM) dépendante ... – fasseg
cpuUpdateInterval = 1. im en cours d'exécution dans netbeans dans Ubuntu (pas de problèmes), puis compiler et exécuter à partir du jar (exécute seulement le minuteur doUpdate()). Je l'ai même fait juste faire un println chaque fois qu'il entre dans la seconde minuterie. Il n'est jamais appelé après la première exécution. – JustinY17
Je voudrais vérifier la version Java sur la ligne de commande et à partir de Netbeans - vous pouvez peut-être déboguer en changeant quelle JVM Netbeans utilise pour exécuter votre application. –