• Es freut uns dass du in unser Minecraft Forum gefunden hast. Hier kannst du mit über 130.000 Minecraft Fans über Minecraft diskutieren, Fragen stellen und anderen helfen. In diesem Minecraft Forum kannst du auch nach Teammitgliedern, Administratoren, Moderatoren , Supporter oder Sponsoren suchen. Gerne kannst du im Offtopic Bereich unseres Minecraft Forums auch über nicht Minecraft spezifische Themen reden. Wir hoffen dir gefällt es in unserem Minecraft Forum!

PlugIn Wie arbeite ich am Besten mit MySQL bei mehreren Services?

BloodSKreaper

Vorarbeiter
Registriert
12 Oktober 2014
Beiträge
249
Diamanten
316
Minecraft
BloodSKreaper
Guten Tag,

ich bin derzeit an der Entwicklung eines Ticketssystems für meinen Minecraft-Server. Auf dem Minecraftserver ist ein Plugin installiert, dessen Befehle verwendet werden können um Tickets zu erstellen, zu claimen, etc. Diese Tickets sollen in einer MySQL Datenbank gespeichert werden, auf die auch ein php-Script zugreifen kann und Tickets claimen, schließen, etc. kann.

Nun zu meinem Problem:
Wird ein Ticket erstellt, dann wird zunächst ein Ticket-Objekt in Java erstellt. Anschließend wird das Ticket in die Datenbank eingetragen. Da ich das Ticket-Objekt beibehalte um nochmaligen Zugriff darauf zu beschleunigen, kann es vorkommen, dass das php-Script Änderungen in der Datenbank vorgenommen hat, die aber im Plugin noch nicht vorgenommen wurden.

Meine Ideen zur Lösung des Problems:
1. Auf die Speicherung des Java-Objekts verzichten und bei jedem Zugriff auf das Ticket eine Datenbankabfrage starten.
2. Das php-Script nicht direkt auf die Datenbank zugreifen lassen, sondern Anfragen mit socket an das Java-Plugin stellen.
3. In der Datenbank einen Eintrag für die letzte Änderung durch das php-Script erstellen und diesen Eintrag regelmäßig mit dem Java Plugin prüfen und dann die Tickets neu ins Plugin laden

Nun brauche ich einen Rat, welche der Lösungen das sinnvollste wäre. Eventuell gibt es auch Lösungen, auf die ich noch nicht gekommen bin.
WICHTIG: Alle Dienste (Plugin, MySQL, PHP) laufen auf derselben Maschine.

Freundliche Grüße
BloodSKreaper
 

Yellowphoenix18

Vorarbeiter
Registriert
26 März 2013
Beiträge
287
Alter
26
Diamanten
300
Minecraft
YellowPhoenix18
Ich kann mich nur meinem Vorredner anschließen.
Lediglich bei mehreren Tickets oder wenn du evtl. keine Ladezeiten haben möchtest, empfiehlt es sich bei Änderung via php eine Art "ping" an dein Java-Plugin zu senden. Hierbei würde ich nicht die Daten mitsenden, da Sockets, sofern man diese nicht sicher aufbaut mitgelesen werden können. Daher lieber eine ART "ping" und das Plugin dann die Daten selbst laden lassen
 
Oben