Prozess-Handling einer Batch-Datei mittels JSP

  • Themenstarter KartoffelKiffer
  • Beginndatum
Status
Nicht offen für weitere Antworten.
K

KartoffelKiffer

Gast
Hallo,

ein blödes Problem erhascht mich bereits am frühen Morgen.

Und zwar habe ich eine JSP-Datei, die mittels "Process p = Runtime.getRuntime().exec(file);" einen Prozess auf dem Server startet. Wenn ich nur einen Client habe, der nicht gleichzeitig mehrmals dieselbe JSP-Datei aufruft, kommt es da zu keinen Problemen (der Prozess darf nur einmal starten, wenn 2 gleichzeititg laufen gibts es fiese Konflikte, die ich nicht abfangen kann).

Nun ist es natürlich so, dass nicht alle Kunden brav warten, bis der Nachbar aus Fernost-Asien die JSP-Datei aufgerufen hat und dann noch 2 Sekunden Karenz duldet bis der Prozess auch wirklich abgeschlossen ist. Nein, sie starten das Script gleichzeitig.

Jetzt komm ich leider mit der Geschichte nicht auf den grünen Zweig, sodass ich sagen könnte "Ich hab das was, was 100%ig läuft" - und das muss es leider auch wirklich. Priorität Nr. 1 ist also, dass der Prozess nur einmal laufen darf.

Meine ersten Ansätze verliefen in Richtung Flags. Ich erzeuge bevor der Prozess anläuft eine temp.-Datei, und lösche sie demnach wieder, wenn der Prozess abgeschlossen ist (der Prozess ist eine Batch-Datei, die am Ende ein delete der Datei auslöst).

Frage ich nun also ab, bevor ich den Prozess starte, ob die temp.-Datei vorhanden ist; Wenn dies der Fall ist, hänge dich in einer While-Schleife auf, und Frage alle Sekunde ab, ob Datei gelöscht ist (wenn Datei gelöscht -> Prozess beendet).

So nun zum eigentlichen Knackpunkt der Story: Gehen z.B. 17 Leute gleichzeitig auf die JSP (unwarscheinlich, aber WENN, ist die K***e am dampfen) sitzen 16 davon in der Warteschleife fest. Nur einer (der Erste) darf den Prozess anschmeißen und setzt diesen Flag (die temp.-Datei), der die Anderen dazu verdonnert in der Schleife zu warten. Warten jetzt also im 1-Sek Abstand 16 Leute darauf, dass eine Datei gelöscht wird, kommt es unweigerlich zu der Tatsache, dass 2 im exakt gleichen Zeitpunkt bemerken "Aha, die Datei ist gelöscht RAUS AUS DER SCHLEIFE".

Und das ist mein Problem, es kommen dann 2 Clients zu dem Entschluss jetzt den Prozess anzuschmeißen, und wie erwähnt darf das nicht der Fall sein.

Es ist mir bisher nicht gelungen ein geeignetes Handling dafür einfallen zu lassen und hoffe daher ein wenig auf Eure Hilfe.

Es muss also explizit der Fall sein, nur 1 Client darf den Prozess anwerfen, alle anderen haben zu warten bis der Prozess beendet ist. Ist er beendet, darf auch nur EIN weiterer Client den Prozess anschmeißen, alle Anderen haben zu warten usw.

Wenn Ihr also Ideen habt, nur her damit; Mir fällt leider nicht gescheihtes mehr dazu ein.



Mfg Tom
 
K

KartoffelKiffer

Gast
Hallo fritz,

der Wikipedia-Link macht mich etwas schlauer, danke dafür, ist exakt das, was ich benötige.

Die Grafik zeigt genau mein Problem auf. Nur muss ich tatsächlich diesen Ablaufplan selber programmieren? Ist ein solches Handling nicht bereits schon verfügbar?



Mfg Tom
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
D Prozess für die Zusammenarbeit Allgemeines EE 7
P Prozess wird nicht beendet Allgemeines EE 4
O JSF / Primefaces Session handling Allgemeines EE 1
L Button Handling in JSP mit Java-Backend Allgemeines EE 2
P DTO, JPA Implementierungen, Exception Handling Allgemeines EE 6
Y myFaces und Hibernate Session Handling Allgemeines EE 7
M URL-Programm-Handling mit Jboss Allgemeines EE 2
Y JSF - Session Handling Firefox Allgemeines EE 3
Y Tomcat Thread-Handling Allgemeines EE 2
_basti Sinnvolle Bereitstellung mehrerer JRE in einer Unternehmensumgebung Allgemeines EE 2
F Bestandteile einer WSDL Datei verstehen. Allgemeines EE 1
M Zeitgesteuertes Ereignis in einer dynamic web module Anwendung (eclipse) Allgemeines EE 3
G Unit Test einer JavaEE Anwendung schlägt fehl. JNDI Name nicht gefunden. Allgemeines EE 3
hjpsoft JSF Lösung einer Aufgabe im "Workshop Java EE7" Allgemeines EE 5
O MVC was gehört ins Model bei einer relationalen DB Allgemeines EE 5
J Mit @Schedule annotierte Methode wird nach einer Weile nicht mehr ausgeführt (JBoss AS 7.2) Allgemeines EE 0
OnDemand GUI in einer JavaEE Anwendung Allgemeines EE 6
X Konsolenausgabe einer java klasse in eine jsp umleiten Allgemeines EE 7
C Fotoverwaltung in einer Multi-User Anwendung Allgemeines EE 4
S Aufruf eines EJBs aus einer nativen Java-Applikation Allgemeines EE 1
R Unterschied Instantiierung einer normalen und einer EJB-Klasse Allgemeines EE 1
R Test einer JEE-Anwendung Allgemeines EE 3
B Problem beim einbinden einer CSS in eine JSP Allgemeines EE 8
Y Zugriff auf Files aus einer EAR Anwendung Allgemeines EE 8
M Wegweiser für Projekt einer Katastrophen-Stab-SW gesucht! Allgemeines EE 2
G Exception beim versenden einer Mail Allgemeines EE 3
K Image Folder außerhalb einer EAR lagern? Allgemeines EE 7
M Wie erhällt eine MessageDrivenBean Nachrichten aus einer Queue ? Wer Pollt da gegen die DB? Allgemeines EE 3
MQue include einer jsp in eine andere Allgemeines EE 4
J von einer Standalone zur Web Applikation Allgemeines EE 6
A Timeout nach 30 Minuten Laufzeit einer entfernten Methode Allgemeines EE 3
V JSP BEAN Speichern von einer Zahl nach eingabe Allgemeines EE 2
T Privates Attribut in einer JPA Entitiy Class ohne DB-Spalte? Allgemeines EE 3
G Alternative zu static im Kontext einer SSB Allgemeines EE 4
A Aus einer JSP zugreifen auf ein Objekt einer anderen JSP Allgemeines EE 4
A Geschachtelte Schleifen in einer JSF View ? Allgemeines EE 4
S Permanentbetrieb einer Applikation - Anfängerfrage Allgemeines EE 10
T Cookie setzen in einer JSP Datei Allgemeines EE 4
J Direktaufruf einer jsp nicht zulassen Allgemeines EE 2
O Anzeigen mehrerer columns in einer DataTable Allgemeines EE 4
S In einer Bean-Methode an ndere Beans kommen Allgemeines EE 7
M Wie zeige ich Attribute eines Objekts innerhalb einer JSP an Allgemeines EE 2
N GWT - RPC String-Array in einer List Allgemeines EE 2
RaoulDuke EJB 3.0 - Exceptions aus Methoden einer Session Bean Allgemeines EE 2
F [JNDI] Holen einer EJB Allgemeines EE 3
S Löschen einer Entity kaskadiert nicht auf Collection (1:n) Allgemeines EE 2
N Seiten aufruf in einer JSP Allgemeines EE 4
W Enter in einer Form mit mehreren Submits Allgemeines EE 2
A Problem / Fehler beim Einbinden einer Klasse in ein JSP Allgemeines EE 20
S ResourceBunlde in einer WebApp Allgemeines EE 2
E Methoden einer Bean aufrufen? Allgemeines EE 4
G Wurzelverzeichnis einer Webanwendung ermitteln Allgemeines EE 2
P String in ein Textfeld einer externen Seite uebergeben ! Allgemeines EE 2
F Frage zur guten Architektur einer WebApp Allgemeines EE 2
C Externe Bibliothek in einer Webapplikation Allgemeines EE 4
K Design einer J2EE applikation? Allgemeines EE 2
T Änderung des Wertes einer Variable beim Klick auf Link Allgemeines EE 7
C In JSP Befehl zum Laden einer Seite in anderem Frame Allgemeines EE 3
N Einbindung einer Bean in eine JSP (Tomcat-Server 5.5.x) Allgemeines EE 2
S Struts 1.1 download einer Datei Allgemeines EE 4
W Mehrere Applikationenen mit einer Anmeldung möglich? Allgemeines EE 11
K Datei schreiben in einer Web-Application Allgemeines EE 3
N Deployen einer EJB3.0 Bean Allgemeines EE 4
TRunKX Werteübergabe von einer *.jsp in eine *.java ohne struts Allgemeines EE 4
clemson [Struts] Einer Action Parameter übergeben Allgemeines EE 2
S IBM WebSphere - Hinzufügen einer Datei Allgemeines EE 4
T Filesystemzugriff von einer Bean? Allgemeines EE 6
G In einer JSP auf Struts-Elemente "reagieren" Allgemeines EE 4
C Mail von einer Session Bean aus senden Allgemeines EE 2
B mehrere submit-buttons in einer jsp Allgemeines EE 11
B Anstossen einer Methode durch link! Allgemeines EE 4
R HTML CODE EINER SITE AUSLESEN Allgemeines EE 2
R Problem beim hochladen einer Web Application Allgemeines EE 16
T Werte aus einer Auswahliste mit Mehrfachauswahl lesen Allgemeines EE 4

Ähnliche Java Themen

Neue Themen


Oben