JSP - File_Lock?

Status
Nicht offen für weitere Antworten.

Strowi

Mitglied
hi zusammen,

ich bastele gerade an einer kleinen JSP-Seite, mit der ich (nach Passworteingabe) eine Datei bearbeiten kann.
Leider gibt es Probleme wenn die Seite mehrfach geöffnet wird, daher möchte ich es so einrichten, dass die Datei jeweils nur einmal geöffnet werden kann und danach wieder freigegeben wird.

Wie kann ich sowas bewerkstelligen?

Thx schonmal im voraus!
 

krey

Aktives Mitglied
Wenn die Applikation ausgeführt wird, guckt es ob eine Datei meinprogramm.lock gibt, wenn ja dann schläft es drei bis fünf Sekunden. Danach guckt es wieder, wenn es keine gibt legt es eine an und löscht sie nach Ablauf des Programmes.

Wäre eine Möglichkeit oda?
 

Bleiglanz

Gesperrter Benutzer
application scope

leg einfach den dateinamen als key rein, und nach dem beenden wieder raus

=> wie üblich das problem mit dem entfernen des Locks, wenn ein Benutzer einfach seinen browser zumacht

oder machs optimistitsch

jeder kann zum editieren öffenen (inkl. timestamp)

wer zuerst speichert "gewinnt"

wenn die anderen speichern wollen, kannst du anhand des timestamps feststellen, dass das nicht mehr geht

nicht ganz einfach das problem
 

Strowi

Mitglied
hi,

danke für den Tipp..

habs nun erstmal über application.setAttribute()/application.getAttribute() gemacht, und teste die Variable beim Seitenaufruf, wenn die gesetzt ist, wird der Login garnicht angezeigt, bei erfolgreichem Login wird sie gesetzt, und beim Logout wieder gelöscht.

Bleibt aber wie gesagt, das Problem, die Datei automatisch freizugeben...

Mal ne Idee:
Könnte man nicht theoretisch auch das Datum/Uhrzeit in die Variable speichern und testen, sodass die Datei nach max. 10min. wieder freigegeben wird?
Quasi:

Code:
application.setAttribute("lock", aktuelle_Zeit);
und dann testen mit:
Code:
if ( application.getAttribute("lock") - aktuelle_Zeit > 10min. ){
    application.setAttribute("lock", 0);

}

Ciao,

Strowi
 

byte

Top Contributor
sowas ist nicht nur sinnvoll sondern nötig. sonst hast du ein problem, wenn der client crashed bzw. auf unkonventionellem weg verschwindet, ohne das lock freizugeben. bleiglanz hat das schon schön beschrieben.

dir sollte allerdings klar sein, dass wenn nun jemand länger als 10 minuten eingelogt bleibt, jemand anders trotzdem wieder reinkommt und es dann u.U. zu den problemen kommen kann, die du vermeiden wolltest.

finde die lösung mit den timestamps übrigens besser. aber das sind nur my 2 cents...
 

Strowi

Mitglied
hi,

vielen Dank nochmal für die Tipps, Singletons waren mir bisher total unbekannt, ich wusste auch garnicht so auf anhieb wie ich das in ner JSP-Seite ordentlich einbinden sollte (v.a., dass nach x min. wieder jeder sich einloggen darf).
Ich habs jetzt wie oben schon geschrieben gemacht, einfach die aktuelle Systemzeit in Millisekunden beim Login gespeichert, und bei jedem Aufruf der Index-Seite wird geprüft, ob die Differenz > x ist. Entpsrechend wird dann der Login angezegit oder ausgeblendet.
Weiterhin hab ich es so gemacht, dass bei jeder 'action' im Editor (also add/del/edit) die Zeit nochmal aktualisiert wird.
Damit hat bspw. jeder 10min. Zeit für eine Aktion (und nicht pro kompletter Sitzung).

Funktioniert hier wunderbar.;)


Ciao,

Strowi
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
B Wildlfy .war - File in produktiven System deployen (Upgrade der Software) Allgemeines EE 5
E Audio/Video File Streamen Allgemeines EE 1
N WebService WAR-File auf Tomcat-Server Allgemeines EE 1
OnDemand Deploy war File wie aufrufen? Allgemeines EE 10
OnDemand JSF - java File Verständnisfrage Allgemeines EE 5
OnDemand War File erstellen Allgemeines EE 1
T Probleme mit File renameTo bzw. File delete @@ Allgemeines EE 3
W properties File in WEB-INF Allgemeines EE 5
H fehler beim deployen von ear file Allgemeines EE 2
P Dynamic Web Project -> file Allgemeines EE 23
E Properties-File in Jboss-Conf Verzeichnis ansprechen Allgemeines EE 2
A File Donwlad über jsp Allgemeines EE 6
G File-Upload Allgemeines EE 3
V File Permissions Allgemeines EE 3
J Auslesen von <input type="file"> Allgemeines EE 2
M Servlets | work - Klassen nicht im WAR File Allgemeines EE 5
P jar-File aus war-File beim Deploy automatisch entpacken Allgemeines EE 2
H File Upload per Formular - prinzipielle Vorgehensweise? Allgemeines EE 2
M war file export Allgemeines EE 2
B FileInputStream(sPath); file wird nicht gefunden Allgemeines EE 5
D <input type="file"> Problem Allgemeines EE 6
D JSP include file Direktive Allgemeines EE 2
U File upload, File download und verzeichnis Struktur Allgemeines EE 2
M Struts File Upload problem Allgemeines EE 6
G properties file im J2EE Server - wo wird genau gesucht? Allgemeines EE 6
H Die JBossMQ im JBoss auf File-Persistence stellen? Allgemeines EE 3
M JSP und File Allgemeines EE 5
S Daten in ein Excel file exportieren Allgemeines EE 3
G JSP: kann nicht in File schreiben Allgemeines EE 2
K JPG file in Java Klasse speichern Allgemeines EE 13
B Nochmal Servlet und File, diesmal download. Allgemeines EE 3
D welcome-file *.do Allgemeines EE 4
T Servlet-Mapping und Welcome-File-List unter Websphere? Allgemeines EE 2
P Probleme mit File renameTo bzw. File delete Allgemeines EE 3
A File Download mit Umlauten in Tomcat/Struts/Suse8 Allgemeines EE 1

Ähnliche Java Themen

Neue Themen


Oben