Hallo zusammen,
ich habe ein Java-Programm (f(x)), welches ausgehend von einem Übergabeparameter (x) ein Ergebnis y berechnet und zurückgibt. Während der Berechnung von f(x) sollen Zwischenergebnisse gespeichert werden. Da es von einem anderen Programm aufgerufen wird, weiß es weder wann es das erste Mal noch wann es das letzte Mal aufgerufen wird. Außerdem kann es sein, dass mehrere Instanzen gleichzeitig ausgeführt werden!
Zunächst hatte ich überlegt für jede Berechnung eine XML-Datei zu erstellen. Ich hätte dann quasi einen Ordner mit vielen XML-Dateien, eben für jeden Aufruf. Das finde ich allerdings für eine spätere Auswertung unhübsch (schließlich muss zunächst der gesamte Ordner eingelesen werden bevor die Daten ausgewertet werden können). Außerdem würden redundante Daten gehalten.
Eine nächste Idee ist, die Ergebnisse in einer SQLite-Datei zu sichern. (Auf eine SQL-DB würde ich wegen Installationsaufwand für die späteren Endnutzer sehr gerne verzichten!) Nun ist aber das Problem, dass unter Umständen mehrere Schreibzugriffe gleichzeitig erfolgen könnten. Kann man an der Stelle warten bis die Datei wieder unlocked ist? Oder wird mit einer Exception abgebrochen?
Oder hat jemand vielleicht eine bessere Idee?
Schonmal lieben Dank für alle Anregungen!
ich habe ein Java-Programm (f(x)), welches ausgehend von einem Übergabeparameter (x) ein Ergebnis y berechnet und zurückgibt. Während der Berechnung von f(x) sollen Zwischenergebnisse gespeichert werden. Da es von einem anderen Programm aufgerufen wird, weiß es weder wann es das erste Mal noch wann es das letzte Mal aufgerufen wird. Außerdem kann es sein, dass mehrere Instanzen gleichzeitig ausgeführt werden!
Zunächst hatte ich überlegt für jede Berechnung eine XML-Datei zu erstellen. Ich hätte dann quasi einen Ordner mit vielen XML-Dateien, eben für jeden Aufruf. Das finde ich allerdings für eine spätere Auswertung unhübsch (schließlich muss zunächst der gesamte Ordner eingelesen werden bevor die Daten ausgewertet werden können). Außerdem würden redundante Daten gehalten.
Eine nächste Idee ist, die Ergebnisse in einer SQLite-Datei zu sichern. (Auf eine SQL-DB würde ich wegen Installationsaufwand für die späteren Endnutzer sehr gerne verzichten!) Nun ist aber das Problem, dass unter Umständen mehrere Schreibzugriffe gleichzeitig erfolgen könnten. Kann man an der Stelle warten bis die Datei wieder unlocked ist? Oder wird mit einer Exception abgebrochen?
Oder hat jemand vielleicht eine bessere Idee?
Schonmal lieben Dank für alle Anregungen!