Java Anwendung für Multi-User

Status
Nicht offen für weitere Antworten.
G

Gast

Gast
Hallo,

ich möchte gerne meine JAVA Anwendung Multiuser fähig machen.
Jetzt frage ich mich allerdings wie ich dieses am besten realisieren kann ...

Die Datenbank im Backend ist eine MySQL Datenbank auf die jeder User Zugriff hat.

In meiner Anwendung gibt es JTrees und JTables, jetz Frage ich mich natürlich wie ich diese synchron halte.
Im Moment ist es so, das ich nach einem ändern der Daten die GUI update, sprich die Table und Tree Models
werden neu geladen.

Reicht dieses Vorgehen evtl. schon aus um das ganze synchron zu halten? Gibt es bessere Möglichkeiten?
Worauf muss ich achten? Was habt Ihr für Erfahrungen? - Alles Dinge die mich Interessieren ;-)

Vielen lieben Dank für eure Hilfe!
 

HLX

Top Contributor
Folgendes Szenario:

a) 1. User liest Daten einer DB-Tabelle
b) 2. User liest Daten der gleichen DB-Tabelle
c) 1. User ändert in der GUI einen Wert in einer Zeile
d) 2. User löscht die gleiche Zeile, schreibt´s in die DB und setzt ein commit ab
e) 1. User will die Änderung speichern (update)
==> es knallt.

In bestimmten Fällen macht es Sinn, die Tabelle oder Zeile(n) deiner Tabelle, die sich im Zugriff befinden für übrige Benutzer zu sperren. So merkt ein ändernder Benutzer, dass gerade etwas mit seiner Tabelle/seinem Datensatz passiert. Du könntest dich mit Locking von Datenbanken, und dem Sperrkonzept deines DBMS auseinandersetzen und dann überlegen, wie du Datenbanksperren umsetzen willst.

Wichtig ist auch zu entscheiden, wann ein commit abgesetzt wird, da alles was ein User nicht comittet von den anderen nicht gesehen werden kann.
 

tfa

Top Contributor
Locking ist der pessimistische Ansatz und für einen echten Mehrbenutzerbetrieb nicht wirklich gut.
Such mal nach "Optimistic concurrency control".
In der Praxis versioniert man die DB-Einträge (Tabellenzeilen), z.B. durch fortlaufende Nummern, Zeitstempel o.ä.
Wenn ein Client den Datensatz ändert, wird automatisch die Versionierung mit erhöht. Der anderer Client, der später seine Änderungen comitten will, findet den Datensatz nicht mehr. Die Persistenzschicht liefert einen Fehler, auf den die Anwendung entsprechend reagieren kann.
Persistenz-Frameworks wie z.B. Hibernate unterstützen Optimistic concurrency control.
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
G Weboberfläche für Java Anwendung? Allgemeine Java-Themen 10
F lizenzfreie Datenbank für JAVA-Anwendung Allgemeine Java-Themen 3
K Java Anwendung machen Anleitung Allgemeine Java-Themen 5
D Java Anwendung mit dll File Allgemeine Java-Themen 5
B JAVA Prozesse in einer eigenen Anwendung laufen lassen Allgemeine Java-Themen 9
B Web-Anwendung funktioniert mit Java 1.8, aber nicht mit Java 1.7 (auf Client) Allgemeine Java-Themen 5
D Java-Anwendung mit DB, GUI, etc. Allgemeine Java-Themen 3
F Java Anwendung Remote starten geht nicht Allgemeine Java-Themen 0
M Java Anwendung ausführen Allgemeine Java-Themen 5
U (Land-)Karten in Java Anwendung einbinden (GoogleMaps/OpenStreetMap) Allgemeine Java-Themen 7
S "Katalog"-Anwendung in Java eine gute Idee? Allgemeine Java-Themen 12
K Anwendung bringt JAVA Speicherfehler Allgemeine Java-Themen 11
C Java Anwendung nur einmalig starten Allgemeine Java-Themen 10
W Java Anwendung in HTML Allgemeine Java-Themen 2
P Java Anwendung mehr Speicher zur Verfügung stellen?? Allgemeine Java-Themen 3
C Kontextmenü erweitern und mit Java Anwendung verknüfen. Allgemeine Java-Themen 3
D Java Anwendung in der Shell Allgemeine Java-Themen 5
R Ausführbare Java Anwendung Allgemeine Java-Themen 27
A Java-Anwendung "richtig" schließen ohne JVM zu beenden Allgemeine Java-Themen 2
F Hilfe beim Starten einer Java Anwendung unter Windows gesuch Allgemeine Java-Themen 8
L Java 1.5 - Anwendung unter 1.6 JRE sehr langsam geworden Allgemeine Java-Themen 8
C Java-Anwendung beenden Allgemeine Java-Themen 3
G Auslesen mit welcher Java-Version Anwendung kompiliert wurde Allgemeine Java-Themen 2
G java als anwendung? Allgemeine Java-Themen 11
N Linux-Commands über Java Anwendung ausführen Allgemeine Java-Themen 12
M Java-Anwendung von CD-ROM Allgemeine Java-Themen 19
C JAVA Anwendung - Was muss auf dem Server installiert sein? Allgemeine Java-Themen 6
S Java anwendung stürzt ab! Allgemeine Java-Themen 3
M PDF aus Java-Anwendung heraus steuern Allgemeine Java-Themen 5
BFreakout Hilfe! Java Anwendung läuft nicht. Allgemeine Java-Themen 8
L Java Anwendung Sprache auswählen? Allgemeine Java-Themen 2
L JDBC Erklärung zu einer Java Anwendung Allgemeine Java-Themen 2
R Java-Anwendung kommerziell verteilen Allgemeine Java-Themen 3
V Java fertige Anwendung an einem Rechener ohne java install. Allgemeine Java-Themen 4
G Java Anwendung in Jar startet nicht Allgemeine Java-Themen 7
N Aus Anwendung zweite Java-Anwendung öffen. Wie? Allgemeine Java-Themen 6
G Java-Anwendung mit DB ohne Entwicklungsumgebung startbar? Allgemeine Java-Themen 5
L Windows-Anwendung aus Java-Programm starten Allgemeine Java-Themen 2
G portierung einer DOS Anwendung mit dbase - Dateien nach JAVA Allgemeine Java-Themen 3
T Anwendung von Java aus starten Allgemeine Java-Themen 3
M von der application zur einfachen java-anwendung Allgemeine Java-Themen 4
OnDemand Java Deployment Vaadin Allgemeine Java-Themen 3
D Hat Java eine Library um JavaScript auszuwerten? Allgemeine Java-Themen 2
Zrebna Wieso sind eigentlich JUnit-Tests in src/test/java platziert - nur Konvention? Allgemeine Java-Themen 7
N LlaMA, KI, java-llama.cpp Allgemeine Java-Themen 39
V Java-Codierungsherausforderung: Navigieren durch die Macken der Datumsmanipulation Allgemeine Java-Themen 2
E Output Fehler (Java-Programm Kuchen) Allgemeine Java-Themen 11
M java: unexpected type Allgemeine Java-Themen 2
harrytut Java Input/Output Tests Junit Allgemeine Java-Themen 3
B Java Discord bot auf ein Root Server? Allgemeine Java-Themen 1
BetziTheRealOne Java PKIX path building failed as non Admin Allgemeine Java-Themen 15
D Linux, Java-Version wird nicht erkannt bzw. welche Einstellung fehlt noch? Allgemeine Java-Themen 19
KonradN Java 21 Release Allgemeine Java-Themen 5
V Umgang mit fehlenden Daten in einer Java-Datenanalyseanwendung Allgemeine Java-Themen 5
P Fehler: Hauptklasse Main konnte nicht gefunden oder geladen werden Ursache: java.lang.ClassNotFoundException: Main Allgemeine Java-Themen 24
G java.io.listFiles() Allgemeine Java-Themen 3
8u3631984 Frage zu Java Streams min / max Allgemeine Java-Themen 17
S Java Programm lässt sich vom USB-Stick starten, aber nicht von HDD Allgemeine Java-Themen 16
K Java-Projekt Allgemeine Java-Themen 11
K Java-Projekt Allgemeine Java-Themen 0
ruutaiokwu Welcher Browser unterstützt heutzutage noch Java Applets? Allgemeine Java-Themen 5
Jose05 Java-Klasse im extra cmd-Fenster ausführen Allgemeine Java-Themen 3
rode45e Java Threads Allgemeine Java-Themen 4
G java.io.listFiles() Allgemeine Java-Themen 2
N Java Dynamic Proxy Allgemeine Java-Themen 3
N Leichte Java Gegner Ki Allgemeine Java-Themen 10
A Java modul Problem Allgemeine Java-Themen 4
Thomasneuling Java Jar datei erstellen, von Projekt, dass auch Javafx Dateien, FXML Dateien und CSS Dateien, sowie Bilder enthält? Allgemeine Java-Themen 14
V Funktionale Schnittstelle in Java Allgemeine Java-Themen 3
OnDemand Java String in Hashmap als Key NULL Allgemeine Java-Themen 27
urmelausdemeis Exception in thread "main" java.lang.Error: Unresolved compilation problem: Allgemeine Java-Themen 7
berserkerdq2 Wenn ich bei Intelij javafx mit maven importieren will, muss ich das in die pom.xml reintun, aber warum noch in module-info.java? Allgemeine Java-Themen 3
KonradN Java 20 am 21. März Allgemeine Java-Themen 1
O Java Website Stock Bot Allgemeine Java-Themen 3
J Front-/Backend in Java Allgemeine Java-Themen 14
doopexxx JAVA Google Webcrawler Allgemeine Java-Themen 1
J JavaScript innerhalb eines Java Projekts ausführen Allgemeine Java-Themen 2
A Java Programm erstellen hilfe Allgemeine Java-Themen 10
G java.lang.NoClassDefFoundError: org/aspectj/lang/Signature Allgemeine Java-Themen 2
lalex1491 Java Aktienkurse nachfragen Allgemeine Java-Themen 4
J Class to link Java Allgemeine Java-Themen 4
V Wie funktioniert das Schlüsselwort "final" von Java? Allgemeine Java-Themen 19
mrStudent Inferenz JAVA Allgemeine Java-Themen 6
U URI Rechner (Java Script) Allgemeine Java-Themen 7
TheSkyRider Java Geburtsdatum Textfeld Allgemeine Java-Themen 7
mihe7 Java 19 JavaDocs: Browserintegration Allgemeine Java-Themen 0
Encera Gleichzeitiges Ausführen und verbinden von 2 Java-Klassen über die Eingabeaufforderung und Eclipse Allgemeine Java-Themen 21
H Java Rechner Programmierung der Mathematik Allgemeine Java-Themen 33
Lennox Schinkel Java Kara Auf einen Java Host laufen lassen Allgemeine Java-Themen 17
C Fußnoten von DocX mit Java Allgemeine Java-Themen 2
C Fußnoten in DocX mit Java Allgemeine Java-Themen 1
M Aussagenlogik in Java Programmieren Allgemeine Java-Themen 22
B Per Java Word Dokument schreiben? Allgemeine Java-Themen 8
krgewb Java-Bibliothek für ONVIF Allgemeine Java-Themen 1
KonradN Oracle übergibt (Java Teile der) GraalVM Community Edition an OpenJDK Community Allgemeine Java-Themen 2
Momo16 Brauche Hilfe - Java Projekt kann nicht erstellt werden Allgemeine Java-Themen 12
B Java mit command line und jars benutzen? Allgemeine Java-Themen 18
M Java Überprüfen ob .exe-Datei bereits ausgeführt wird Allgemeine Java-Themen 2
B HTTP Allgemeine Fragen über Suchmaschine nutzen mit Java Allgemeine Java-Themen 20
Mick P. F. Wie kriege ich die Fehlermeldung "java: symbol lookup error: ..." weg? Allgemeine Java-Themen 11

Ähnliche Java Themen

Neue Themen


Oben