Tickets (inkl. E-Mails) speichern

strohhaar

Mitglied
Hallo Leute,

Ich schreibe derzeit ein Programm zur E-Mail Bearbeitung (Nutzer erhalten Tickets zu einem Problem und lösen dieses dann per E-Mail).
Wie kann ich denn diese Tickets (inkl. Status, Priorität, usw....) und die zugehörigen E-Mails am Besten speichern? Auch geeignet für eine Suche.

Gruß strohhaar
 

Volvagia

Top Contributor
Ich hätte mir bis zu einer gewissen Menge einfach ein Objekt Email angelegt, in denen die Dinge wie, Titel, Text, Priorität, Status etc. reingeschrieben, in eine LinkedList gelegt, und einfach die ganze Liste serialisiert. Die Liste bleibt im RAM und wird nur bei Programmstart geladen.
Ab einer gewissen Menge würde ich sie direkt in eine H2-Datenbank schreiben, und nur die Letzten bearbeiteten Daten im RAM zwischengecached.
 

strohhaar

Mitglied
Ich hätte mir bis zu einer gewissen Menge einfach ein Objekt Email angelegt, in denen die Dinge wie, Titel, Text, Priorität, Status etc. reingeschrieben, in eine LinkedList gelegt, und einfach die ganze Liste serialisiert. Die Liste bleibt im RAM und wird nur bei Programmstart geladen.
Ab einer gewissen Menge würde ich sie direkt in eine H2-Datenbank schreiben, und nur die Letzten bearbeiteten Daten im RAM zwischengecached.

Danke für deine Antwort.
Ich will ohne Datenbank arbeiten. Ich möchte ein "einfaches" Server/Client Programm schreiben, wo sich die Nutzer anmelden, bzw. dann Tickets zum bearbeiten zugewiesen bekommen.
Wenn ein Nutzer sich anmeldet, dann wäre es doch gut, wenn nur seine aktuellen Tickets geladen werden. Aber woraus? Wäre es gut, alles im Klartextformat zu speichern (html?). Ich bin noch ein ziemlicher Anfänger, was das alles angeht.
 

FArt

Top Contributor
nrg hat schon eine Menge Beiträge geschrieben. Der scheint Erfahrung zu haben und möchte sie mit dir teilen. Deswegen noch mal der Tipp: nimm eine Datenbank.
Es muss ja nichts große sein, z.B. reicht evtl. schon eine HSQL-DB, eine H2 oder so.. die muss man u.u. nicht mal installieren, je nach Betriebsart.
Gerade für eine sinnvolle Suche ist das m.E. wichtig.
Sonst sind deine "Anforderungen" nichts besonderes. Du kannst und solltest mit Standardlösungen arbeiten... Spring z.B. bietet dir schon mächtige Möglichkeiten, auch bzgl. Remotezugriffen, Persistierung usw.
Wenn es etwas größer werde kann, dann gehe irgendwann mal in Richtung Applicationserver. Bis dahin musst du aber sicher noch viel Erfahrungen sammeln.
 

Volvagia

Top Contributor
Wenns nur was kleines werden soll, würde ich sie wie gesagt einfach im RAM behalten, und der Einfachheit halber serialisieren, falls der Server neu gestartet werden muss.

Der Client sendet dann sowas wie "Schick mir pls meine Tickets".
Und der Server hohlt aus dem User-Objekt die Tickets, und schickt so:
"Neuest Ticket, Hilfe ich kann mich nicht einloggen, Hallo mein Acc ist blablabla und ich kann mich nicht einloggen, Moderate, Unsolved".
...
Tickets ende.

Der Client speichert sie ab, und macht was immer er machen will.

Zum kommunizieren kannst du das verwenden:
http://www.java-forum.org/746296-post5.html


Das wäre dann wohl das simpelste, was du wohl auch haben willst.
 

nrg

Top Contributor
nimm h2. das ist im embedded mode nichts weiter als eine library und eine datenbank datei in deinem programmordner.
H2 Database Engine
du brauchst nicht unbedingt eine serverinstallation, um mit datenbanken zu arbeiten
 

strohhaar

Mitglied
Danke für die Antworten. Eure Kompetenz stelle ich natürlich nicht in Frage, ich würde auch gern mit einer DB arbeiten.
Leider muss ich das Programm ohne DB realisieren und...

Wenns nur was kleines werden soll, würde ich sie wie gesagt einfach im RAM behalten...

... darf die Daten auch nicht im Arbeitsspeicher halten.

Könnt ihr mir trotzdem weiterhelfen, auch wenn die Lösung eher unüblich ist?
 

Volvagia

Top Contributor
Nicht im Arbeitsspeicher? Was stellst du dir darunter vor?
Ist das eine Schulaufgabe? Dann frag besser genauer, was du tun sollst. :autsch:
Entweder, du suchst direkt mit Datenbankfunktionen, oder du lädst und lässt das Programm suchen. Eine andere Möglichkeit wird dir wohl nicht übrig bleiben. (Vielleicht noch mit irgend einen externen Framework, aber die sind wohl am ehesten verboten.)
 

strohhaar

Mitglied
Ich wollte damit sagen, dass ich nicht alle Daten im Speicher halten darf. Ich würde es wohl so realisieren, dass nur Ticktes, die gerade bearbeitet werden sollen, in den Speicher geladen werden sollen.
Ich frage mich nur, wie ich diese am besten speichere, wenn sich der Nutzer dann abmeldet.
 

FArt

Top Contributor
Lieber TS... erhähle doch etwas mehr zum Hintergrund deiner Arbeit. Besonders so Aussagen wie "ich darf keine DB verwenden" usw.
Ist das eine Hausaufgabe?
Eines ist sicher: du hast absolut keinerlei Erfahrung mit so etwas und ich denke, das ganze ist eine Nummer zu groß für dich.
Dir fehlt Basiswissen bzgl. Datenstrukturen (es hört sich so an, als weißt du noch nicht mal wie du dein "Ticket" halten bzw. speichern möchtest) und Datenverarbeitung.
Tipp: das eine oder andere Tutorial und Buch würde dir gut stehen. Danach düfte sich auch der eine oder andere gedankliche Knoten lösen. Es gibt bestimmt so etwas wie Tutorial bzgl. Adressbuch oder Videoverwaltung oder so. Danach wird dir vermutlich ein Licht aufgehen und du kannst deine gemachte Erfahrung in dein Projekt einfließen lassen.
 

Ähnliche Java Themen

Neue Themen


Oben