Job immer wieder ausführen

schuetzejanett

Erfahrenes Mitglied
Hallo,

was muss ich tun um einen Eclipse Job mehrfach auszuführen. also sozusagen von programmstart bis Ende. immer wieder jede sek. Habe gedacht ich erstelle den job mit einer run()-Methode und sage dann job.shedule(2000) aber er wird immer nur 1 mal ausgeführt. Habe das durch debuggen und auch statusausgab(sysout..) festgestellt.


Was ist falsch daran?

Das ist der Code, dieser steht in einer Mthode, welche bei Programmstart aufgerufen wird.

Code:
	Job job = new Job("Observing network prefernces")
	{
				
		@Override
		protected IStatus run(IProgressMonitor monitor)
		{
		     //Aktion 					
		     return Status.OK_STATUS;
		}
		
	};
	job.schedule(1000);
 
Ich kenne mich leider mit einem Eclipse Job nicht aus aber für diese Aufgabe Timer und Timertask beispielsweise geeignet.

Java:
java.util.Timer timer=new java.util.Timer();
        java.util.TimerTask task = new java.util.TimerTask() {
            public void run() {
                System.out.println("der Thread wird jetzt ausgefuhrt");
            };                 
        };
        
        timer.schedule(task,1000,1000);    //führt den Thraed in einer sec und dann jede sec aus
 
Hallo,

warum nicht einfach so:
Java:
        new Job("Bubu"){
            protected IStatus run(IProgressMonitor monitor) {
                //...
                if(shouldBeScheduledAgain){
                    schedule();
                }
                return null; //someStatus
            }
            
        }.schedule();

Gruß Tom
 
Also habe jetzt einfach vor dem return shedule noch mal shedule(1000) aufgerufen. Welches ist denn die bessere und performantere Aktion also deine Toms oder meine?
 
Zurück