tutorials.de Buch-Aktion 05/2012
Like Tree1Danke
  • 1 Beitrag von Fabio Hellmann
ERLEDIGT
NEIN
ANTWORTEN
3
ZUGRIFFE
480
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    sebastianb sebastianb ist offline Mitglied Gold
    Registriert seit
    Dec 2009
    Beiträge
    125
    Hallo zusammen,

    ich habe nur eine kurze Frage was so das Best Practices für folgendes "Problem" ist:

    Ich habe ein Monitoring-Tool, welches im einem Abstand von 15min Testfiles erzeugt und zur bearbeitung an einen asynchronen Service schickt. Nach 15min prüfe ich, ob die File korrekt verarbeitet wurde und beginne wieder von vorne.

    Pseudecode:
    Code java:
    1
    2
    3
    4
    5
    6
    7
    
    while(true)
    {
       File file = new Fle(...);
       server.execute(file); // Process File
       Thread.sleep(900000); // Wait 15min
       server.validate(...); // Validate Service output
    }

    Meine Frage richtet sich jetzt speziell auf das Thread.sleep(), welches die validierung um 15min verzögern soll aber irgendwie erscheint mir das als unsauber oder was meint ihr?
    Evetl. über eine ExecutionService einen Future-Thread erstellen, welcher Zeitversetzt in 15min startet und dann die Validierung vornimmt?

    Vielen Dank für eure Anregungen

    Sebastian
     

  2. #2
    Avatar von Fabio Hellmann
    Fabio Hellmann Fabio Hellmann ist gerade online Mitglied Brokat
    Registriert seit
    Aug 2011
    Ort
    München
    Beiträge
    494
    Hi,

    also ich würde es über einen TimerTask lösen. Diesen startest du über die Klasse Timer. Dem Timer kannst du sagen, nach welchen Zeitintervallen der Task ausgeführt werden soll.

    Code java:
    1
    2
    3
    4
    5
    
    Timer timer = new Timer();
    timer.scheduleAtFixedRate(new DeinTimerTask, 
       0, // Wartezeit vor erstem Durchlauf
       900000 // Wiederholungsintervall
    );

    Gruß

    Fabio
    sebastianb bedankt sich. 
    Bitte die Code-Tags verwenden. Bei Java-Code: [java]...[/java]

    Tutorials:
    Automatisches erzeugen eines Inhaltsverzeichnisses (Javascript)
    JAnimationPanel - Animationen für Swing/AWT
    SWTRatingBar (Bewertungs-Composite) selbst programmieren
    ____________________________________________________________________________
    Über eine Bewertung (Stern links unter dem Beitrag) oder ein Danke freue ich mich sehr.

  3. #3
    sebastianb sebastianb ist offline Mitglied Gold
    Registriert seit
    Dec 2009
    Beiträge
    125
    Ahhh, der gute alte Timer. Danke für den Tipp

    *EDIT*
    So das mit dem Timer klappt recht gut aber ich habe gerade das Problem, dass ich unter bestimmten Umständen den Execution-Delay ändern muss aber anscheinend ist dies mit dem Timer nicht möglich :/

    Gruß

    Sebastian
    Geändert von sebastianb (14.09.11 um 17:01 Uhr)
     

  4. #4
    wakoz wakoz ist offline Mitglied Gold
    Registriert seit
    Apr 2010
    Beiträge
    114
    geht soweit ich weiß auch nicht, aber du kannst den Timer auf alle x Minuten etc einstellen und nur auf alle y Delay Signale reagieren. Auch praktisch wenn man mehrere Prozesse hat die unterschiedliche Delay Zeiten haben müssen

    In deinem Fall zum Beispiel jede Minute ein delay und du kannst in deinem Prozess einstellen ob er 5 10 oder 11 Minuten warten soll

    MfG
     

Ähnliche Themen

  1. Output Buffering
    Von Do_0mi im Forum PHP
    Antworten: 2
    Letzter Beitrag: 16.06.08, 20:02
  2. DOM Format Output
    Von port29 im Forum PHP
    Antworten: 1
    Letzter Beitrag: 01.10.06, 12:03
  3. html output mit xsl
    Von Inspector im Forum XML Technologien
    Antworten: 0
    Letzter Beitrag: 22.10.05, 10:26
  4. Stream Output
    Von themonk im Forum PHP
    Antworten: 16
    Letzter Beitrag: 06.09.04, 16:33
  5. PDF Output mit FOP
    Von squeaker im Forum Java
    Antworten: 6
    Letzter Beitrag: 15.07.04, 08:46