Wie externe System-Ressourcen zwangsweise freigeben

Muckefuck

Mitglied
HI ihr,

hoffe ihr könnt mir helfen.
Ich schreibe ja grade an einem lustigen Programm, dass externe Quellen für die Bilderkennung nutzen soll.
Da bin ich bei meinem Use case "DataLoader starten" auf ein grosses Fragezeichen gestossen, für das mir noch keine Lösung eingefallen ist.

Sinn ist es, ein Mediator startet den DataLoader, von dem der Mediator keine Ahnung über Aufbau, Quellen oder sonstwas hat.
Dem Dataloader wird eine bestimmte Zeit gegeben, in der er dem Mediator melden kann "bin fertig mit verbindungsaufbau".
Wenn nicht muss der Mediator annehmen, dass der DataLoader-Thread irgendwo hängt.
Daraufhin SOLLTEN alle externen Resourcen (möglichts) sofort entweder durch statische Methoden des DataLoader oder durch eine seperate ProblemHandler-Klasse freigegeben werden.

Danach könnte der Mediator einen erneuten Versuch unternehmen, den Dataloader zu starten(evtl. mit anderen Init-werten).

Festgelegte Prinzipien sind dabei:
* Mediator darf alles starten, was sozusagen loadData() versteht
* Anbieter des DataLoader, kümmert sich um Quellen, Formate, Initwerte(zB. Pfade)
* Eingeräumte Startdauer wird vom Mediator festgelegt
* Startdauerüberschreitung lößt definitiv eine Fehlerbehandlung(Neustart des DataLoaders) aus
* Für die Schritte der RessourcenFreigabe im Fehlerfall ist der Anbieter vom DataLoader(und ProblemHandler)verantwortlich

Die Frage ist jetzt:
Wie kann ich bei meinem Prototyp-Dataloader, der sich an eine Webcam klemmt, sicherstellen, dass er die Webcam bei Blockade während des Systemstarts(passiert oft^^) sofort abklemmt, damit ich den Mediator einen Neustart-Versuch machen lassen kann.

GN Muckefuck
 
Zuletzt bearbeitet:

Tobias

Top Contributor
Dein Mediator übergibt dem DataLoader einen Timeout-Wert (als Argument der loadData()-Methode). Diesen Timeout überwacht der DataLoader selbstständig (z. B. per Timer). Nach Ablauf des Timeouts wirft der DataLoader eine TimeOutException und räumt in einem finally-Block selbstständig seine Resourcen auf.
 

Muckefuck

Mitglied
Vielen Dank schonmal,

du hast mich denke ich auf die richtige Fährte gebracht.
mit "+throw-new-TimeoutException external source" hab ich unter Google das hier>> How To Safely Execute Process From Java - Aviran’s Place gefunden.

Ich denke, ich werde ähnlich wie dort etwas diesen InterruptScheduler(aber vom Mediator aus) benutzen, um die hängenden/zu-langsamen Threads abzuschiessen.

Jetzt ist nur die Frage, ob es Fälle gibt, in denen das Interrupted-Field bei der Verbindung zu irgendeiner externen Quelle übergangen wird, und der DataLoader-Thread weiter auf Daten von außen wartet und wartet und ... .
Oder ob ich nach myLoaderThread.destroy() im Mediator-Timer-Thread wirklich davon ausgehen kann, dass alle externen Quellen wieder zum Laden bereit sind.

tja diese Frage quält mich halt :(
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
X Java gewerblich nutzen mit externe Bibliothek. Was zu beachten? Allgemeine Java-Themen 18
OSchriever Externe Anwendung beenden Allgemeine Java-Themen 41
T Externe Java Klasen zur Laufzeit einbinden Allgemeine Java-Themen 10
J File in Package erstellen & lesen mit Programmstart in externe Projekt Allgemeine Java-Themen 3
X Threads Externe Variablen in Run Methoden verändern Allgemeine Java-Themen 4
V JTable Externe Lib Allgemeine Java-Themen 2
JavaWolf165 Externe .jar-Dateien in .jar-Datei intigrieren Allgemeine Java-Themen 0
Neumi5694 Externe Skripte Allgemeine Java-Themen 9
L JavaFX JavafX externe FXML laden? Allgemeine Java-Themen 4
S Externe Eclipse Projekte dynamisch einbinden Allgemeine Java-Themen 3
Thallius Externe .jar dynamisch einbinden Allgemeine Java-Themen 5
W Threads Mit Thread und Runtime externe Programme öffnen Allgemeine Java-Themen 0
M Externe Jar sehr langsam Allgemeine Java-Themen 23
C Prozesssteuerung - Speicherhungrige externe Programme werden blockiert Allgemeine Java-Themen 2
F externe module. geht das in Java? Allgemeine Java-Themen 3
G Eclipse Wie mit Ant build.xml externe Jar´s einbinden? Allgemeine Java-Themen 5
B Externe Programme und ProcessBuilder Allgemeine Java-Themen 5
nrg Externe Library Lizenzen Allgemeine Java-Themen 14
D externe programme / Jdesktoppane, ... Allgemeine Java-Themen 6
U Externe Logiken möglich? Allgemeine Java-Themen 8
G externe Properties datei aus Jar File heraus lesen Allgemeine Java-Themen 12
G externe Steuerung von Sprachsoftware Allgemeine Java-Themen 3
C Externe Bilder in Java-Applet blocken? Allgemeine Java-Themen 2
B Eclipse externe Dateien mit einbinden Allgemeine Java-Themen 10
H externe JARs in eigenem Programm-Jar einbinden. Allgemeine Java-Themen 5
N externe Anwendung aktivieren (nicht starten!) Allgemeine Java-Themen 3
H Externe Prozesse und Inputstreams - ausgabe in JTextArea Allgemeine Java-Themen 3
oliver1974 Zugriff auf externe .class Dateien (und resourcen) aus JAR Allgemeine Java-Themen 11
G externe package Allgemeine Java-Themen 7
E externe Anwendung aufrufen und sich selbst beenden Allgemeine Java-Themen 8
W Java und externe Anwendungen Allgemeine Java-Themen 3
J Externe File Emails für JavaMail Allgemeine Java-Themen 4
J Externe .jar bibis in programm .jar einbinden? Allgemeine Java-Themen 9
R externe Libraries in jar-file Allgemeine Java-Themen 16
R Kontrolle über Externe Prozess Allgemeine Java-Themen 5
O Externe Jars in eigene JAr packen in Eclipse Allgemeine Java-Themen 5
M Standardpfad für externe Dateien? Allgemeine Java-Themen 2
R aus Jar auf externe XML-Datei zugreifen Allgemeine Java-Themen 14
I externe Namensliste auslesen Allgemeine Java-Themen 13
M Java2exe Externe Packages einbinden! .JAR und sowas Allgemeine Java-Themen 7
thE_29 Externe (unbekannte) Klasse nutzen Allgemeine Java-Themen 11
J Externe Ansteuerung (Motor,Licht) mit Java? Allgemeine Java-Themen 4
X Input/Output InputStream/Scanner(System.in) read()/hasNextLine() block unterbrechen Allgemeine Java-Themen 7
P9cman java.Lang Klassen fehlen in JRE System Library Allgemeine Java-Themen 1
B Lottospielen mit System, Versuch 2, noch umständlicher als vorher Allgemeine Java-Themen 1
J Frage zu System.getproperties. Allgemeine Java-Themen 60
sascha-sphw Erste Schritte Unit und Integration-Tests im Java Modul System Allgemeine Java-Themen 10
F Frage zu System.in Allgemeine Java-Themen 3
E System property setzten Allgemeine Java-Themen 8
Kirby.exe Movement System für Spiel Allgemeine Java-Themen 13
O Beziehung System.exit(x) <>Errorlevel Allgemeine Java-Themen 2
B System.out Ausgabe auf jtextarea Fehlersuche Allgemeine Java-Themen 8
F System Tray Menubutton ActionListener Allgemeine Java-Themen 5
H Im Tiled-Map-System ein Item anklicken Allgemeine Java-Themen 0
S Java Plugin System (ohne OSGI) Allgemeine Java-Themen 10
D System.arraycopy verhält sich seltsam Allgemeine Java-Themen 1
C Login System Allgemeine Java-Themen 19
A BufferedReader ohne System.in Allgemeine Java-Themen 9
VfL_Freak JDK installieren System-Property "user.dir" Allgemeine Java-Themen 6
J System.arraycopy ergibt anderes Resultat als for-loop Allgemeine Java-Themen 4
F Wie kann ich auf einem System prüfen, ob eine lib verfügbar ist? Allgemeine Java-Themen 2
D Java System.out::println Allgemeine Java-Themen 1
D Methoden Java Applikation Die System Auslastung optimieren ? Allgemeine Java-Themen 7
S Ist Java ein geschlossenes System? Allgemeine Java-Themen 2
L Erste Schritte Suche Java Wiki System? Allgemeine Java-Themen 5
chuxXo System/JLayer Volume ändern Allgemeine Java-Themen 0
Neumi5694 System.out und System.err umleiten - NICHT im Quelltext Allgemeine Java-Themen 4
X System.out/err(Die Console) in JTextArea ausgeben Allgemeine Java-Themen 2
S Best Practice System.arrayCopy verändert Ziel-Array Allgemeine Java-Themen 2
A Methoden Der Sinn von system.out.print(); Allgemeine Java-Themen 9
A System freezes when trying to run external command from Java with wait for Allgemeine Java-Themen 3
A Java | Login-System Allgemeine Java-Themen 3
C System.out.print("") Compiler Fehler Allgemeine Java-Themen 2
Joew0815 Best Practice Wie am besten Plugin-System erstellen? Allgemeine Java-Themen 12
C System.in erhält Input von Tastatur. wo wird das festgelegt? Allgemeine Java-Themen 4
F Benachrichtigungs-System Webapp Java Servlet Allgemeine Java-Themen 10
M collection persistence system Allgemeine Java-Themen 4
V System.out.println an jeder Stelle im Projekt löschen Allgemeine Java-Themen 4
D System.out's in String speichern. Allgemeine Java-Themen 2
H Interpreter-Fehler ArrayIndexOutOfBoundsException bei System.arraycopy() Allgemeine Java-Themen 3
M System herausfinden Allgemeine Java-Themen 6
O Variablen System.getenv: Sinnlose Werte, Arrays?! Allgemeine Java-Themen 6
G java.exe in System 32. Hilfe!!! Allgemeine Java-Themen 8
R Methoden Tag System Problem Allgemeine Java-Themen 3
J System.out im GUI anzeigen Allgemeine Java-Themen 3
N System.exit(0/1) Allgemeine Java-Themen 3
F System.out.println mit log4j ersetzen Allgemeine Java-Themen 10
D System.LoadLibrary(..) - Programm stürzt ab Allgemeine Java-Themen 2
U Classpath DLLs mittels System.load() laden: Allgemeine Java-Themen 6
D Listener auf System.out.err / System.out.println Allgemeine Java-Themen 5
G Input/Output System.in "umbiegen" für junit-Test Allgemeine Java-Themen 4
Kr0e User management system Allgemeine Java-Themen 2
S Java Programm -System Neustart überleben? Allgemeine Java-Themen 3
Rudolf Wann System.exit und wann dispose? Allgemeine Java-Themen 9
ruutaiokwu System.out auf files umlenken in log4j.xml Allgemeine Java-Themen 4
K Objekt-Austausch zwischen zwei Programmen über System-Clipboard Allgemeine Java-Themen 5
agent47 Plugin System Verständnisfrage Allgemeine Java-Themen 6
E Durch System.in.read() blockierten Thread stoppen Allgemeine Java-Themen 10
P System.out im Eclipse plugin Allgemeine Java-Themen 4
C File System Watcher Allgemeine Java-Themen 2

Ähnliche Java Themen

Neue Themen


Oben