Threads zu bestimmten Zeiten ausführen lassen

Zimmerpflanze

Grünschnabel
Moin,

Genutzt wird NetBeans (SE mit jdk 1.6).
Ich habe einen Thread, der ein Verzeichnis in regelmäßigen Abstanden nach neuen Dateien durchsuchen soll. Die Sache funktioniert an sich soweit, dass er das in bestimmten Intervallen auch schon kann.

Nun soll/kann die Möglichkeit eingebaut werden, dass gesagt wird:
- Führe die Überprüfung immer z.B. Freitags 18:00 aus
- Täglich, Wöchentlich etc.
- Die Daten wenn möglich aus einer XML-Datei auslesen

Gibt es dazu eine Möglichkeit dies umzusetzen, wenn möglich OHNE externe Bibliotheken?
Ständig die Systemzeit zu überprüfen, ob es z.B. gerade Freitag 18:00 ist und dann den Thread zu starten wäre vielleicht ein Work-around aber irgendwie stellt mich das nicht zufrieden. ;)

Schonmal Danke für eure Tipps
 
Hi!

Ein solches Vorhaben selbst umzusetzen halte ich für aufwendig, genau genommen unnötig aufwendig!
Einer der ganz großen Vorteile von Java als Programmiersprache ist doch, dass es für praktisch jeden wiederkehrenden Task schon funktionierende, stabile Bibliotheken gibt, die mit maven innerhalb von Sekunden zur Verfügung stehen. Warum sollte man die nicht nutzen wollen?
Für dein Scheduling empfehle ich z.B. quartz. Ist schon eine Weile her, dass ich das selbst verwendet habe, aber ich bin wunderbar damit klar gekommen. Die Library ist unter der Apache-Lizenz veröffentlicht, du solltest also eigentlich keine Lizenzprobleme bekommen können :)

Gruß,

RoCMe
 
Die Bedenken sind eher dahin gerichtet, dass in einem 10 Mann Team irgendwann niemand mehr bei den anderen durchblickt, wenn die ihre jeweiligen Bibliotheken holen. Deswegen ist es sowas wie ne Richtlinie erstmal nur auf die Standardbibliotheken zuzugreifen - wen dies mit abschätzbaren Aufwand geht.
 
Ich kann mich RoCMe nur anschließen, wozu soll man Zeit und Aufwand einsetzen für etwas das schon existiert.
In einem Softwaret-Projekt mit mehreren Leuten sollte es sowieso zentrale Verwaltungsmechanismen geben, da es sonst auch ohne externe Bibliotheken sehr unübersichtlich wird. Und dann kann hat man auch kein großes Problem mehr mit externen Ressourcen, wenn doch kann man auch noch ein Modul zur Abhängigkeitskontrolle einsetzen.
Ein Beispiel, wie ich das schon erlebt habe: zur Zentralen Verwaltung des Projekts wurde SVN eingesetzt, außerdem Maven als Build-Tool. Das tolle an Maven ist, das es nur eine pomxml(Project Object Model) gibt, in der die Abhängigkeiten eingetragen werden, entweder von Hand oder mithilfe des M2Eclipse-Plugins. Wenn jetzt ein Entwickler eine externe Bibliothek einbinden will, fügt er den entsprechenden Eintrag hinzu. In so gut wie allen Fällen lädt sich Maven die Bibliotheken auch selbst runter(hatte bisher da noch nie Probleme, alle Bibliotheken die ich brauchte, waren in den Maven-Repositories). Danach muss der Entwickler die pom.xml nur im SVN aktualisieren und die anderen entwickler müssen diese Datei nur aktualisieren und bekommen die Bibliotheken automatisch dazu.

Wenn du jetzt anfängst, jedes kleine Problem selbst zu lösen, würdest du einen großen Vorteil in der Softwareentwicklung, der eine Menge Zeit spart, einfach ignorieren.

Gruß
Matt
 
SVN benutzen wir auch. Ich wollte eigentlich auch nicht drüber diskutieren wie man ein Team zu managen hat, sondern ob es zu diesen Problem eine relativ einfache Möglichkeit gibt, die mit den Standardbibliotheken zu bewerkstelligen ist.
Könnte ja sein, ich war wieder auf drei Augen blind und hab was wichtiges übersehen. :)
 
Ich wollte eigentlich auch nicht drüber diskutieren wie man ein Team zu managen hat[...]
Da will ich mich auch gar nicht einmischen, das findet sowieso jeder irgendwie anders richtig ;) und ich gebe dir völlig Recht: Wenn jeder Entwickler einfach die nächstbeste Bibliothek einbindet, die er gerade für nützlich hält, gerät das ganze Projekt eher früher als später völlig aus den Fugen. Das Problem haben wir hier auch des Öfteren, und die Teams sind meist nur halb so groß wie deins ;)
Aber wennn jeder Entwickler alles einmal neu entwickeln würde, wäre der ganze Laden wohl noch sehr viel chaotischer ;-)



[...]ob es zu diesen Problem eine relativ einfache Möglichkeit gibt, die mit den Standardbibliotheken zu bewerkstelligen ist.
Könnte ja sein, ich war wieder auf drei Augen blind und hab was wichtiges übersehen.

Nein, sowas gibt es meines Wissens nicht!
 
Zurück