Task in Java ee

OnDemand

Top Contributor
Hallo zusammen, ich überlege mir gerade wie ich folgendes implementieren soll.

Mehrere User sind in einer Datenbank. Ebenfalls gibt es eine Datenbank mit Verkaufspreisen. Nun soll ein Task automatisch jede Stunde für jeden User eine eigene Datei erstellen und darin userspezifische Preise aus der datenbank speichern (Preise ändern sich da jeder User andere Konditionen)

Wie kann ich es erreichen, dass mein Programm so schlau wird und 'so lange für jeden Kunden eine Datei speichert, so lange er Kunden in der Datenbank findet'

Weiß nicht wie ich es implementien soll. Macht man das mit threads? für jeden User einen thread starten oder gibt's da noch andere Variante?
 

stg

Top Contributor
Ich sehe kein Problem, welches irgendwas mit Java EE zu tun hat...
Du startest in deiner Anwendung einen Scheduler, der jede Stunde eine Methode anstößt. In dieser liest du eine Collection aller User aus, für die diese Datei erstellt werden soll. Dann iterierst du über die Collection und erstellst besagte Datei.
 

OnDemand

Top Contributor
Moin, ok. Ist schon mal ein Anfang. Danke! Glaube aber dass es so recht unübersichtlich wird. Jeder User hat in der Datenbank noch sagen wir 10 Werte, welche für die Preisberechnung benutzt werden. Das heißt es müssen auch die Werte in die Collection... Aber während ich so schreibe hab ich ne Idee, dass es doch so klappen könnte...

Bezgl. dem Scheduler; Habe schon geschaut es Annotation @Scheduler mit EJB zu machen, aber das wird vom Tomcat nicht unterstützt. Bevor ich jetzt meinen Server-Provider nötige, möchte ich noch nach einer anderen Lösung suchen, die performant und zuverlässig als Timer genutzt werden kann (Java TimerTask?)

Edit: Oder sollte ich mich bemühen generell Glassfish oder was einen anderen AppServer zu nutzen um EJB Timer nutzen zu können?
 
Zuletzt bearbeitet:

stg

Top Contributor
Moin, ok. Ist schon mal ein Anfang. Danke! Glaube aber dass es so recht unübersichtlich wird. Jeder User hat in der Datenbank noch sagen wir 10 Werte, welche für die Preisberechnung benutzt werden. Das heißt es müssen auch die Werte in die Collection...

Wieso sollte das unübersichtlich werden? Und nein, in den Scheduler kommt die File-Generierung und sonstiger Spaß gar nicht rein. Nicht einmal die genaue Struktur eines Users.
Und mit JEE hat das wie gesagt auch erstmal nicht viel zu tun. Ich meinte das so: Erstelle einfach ein Runnable-Object und überschreibe die run-Methode

Java:
public class FileScheduler implemets Runnable {
    // ...
    @Override public void run() {
        Collection<User> user = UserService.getUser();
        for(User u : user) {
            FileService.printFile(MyUtilities.generateFile(u));
        }
    }
}

Entsprechende Scheduler-Klassen, die dein Runnable verwalten, findest du z.B. in java.util.concurrent.

Wie UserService und FileService genau aussehen, und wie sie hier verfügbar gemacht werden, hängt natürlich von deiner genauen Architektur ab, eine entsprechende Utility-Methode, welche für einen entsprechenden User das File genriert, musst du aber ja so oder so schreiben
 
Zuletzt bearbeitet:

OnDemand

Top Contributor
Irre, danke! Ich denke manchmal viel zu kompliziert, dass muss ich mir abgewöhnen :D

Aber was mir noch einfällt... Solche sachen, die (eigentlich nix mit EE zu tun haben) Gehört das mit in das eigentliche Web-Projekt oder sollte das zb. als Konsolenprogramm seperat auf dem Server laufen? (dann könnte man auch den Cron/Task des OS nutzen)
 
Zuletzt bearbeitet:

stg

Top Contributor
Das kannst du halten, wie du willst. Bzw hat beides Bor- und Nachteile. Eine zusätzliche Anwendung bedeutet natürlich Overhead was Speicher, CPU, evtl duplzierter Code usw bedeutet. Ist aber natürluch auch ausfallsicherer.
Läuft Scheduler in deiner Web app, so kannst du ihn auch direkt aus der web app leichter verwalten...
 

OnDemand

Top Contributor
ok, wenn ich meinen Scheduler habe, startet dieser dann auch automatisch mit dem deployen der App? Wenn nicht, muss er angestoßen werden und wie? Stimmt, wenn es in der App ist, kann der User auch manuell anstoßen, dass die Datei erstellt werden soll. Wenn es außerhalb der Web-app läuft ist das sicher nicht so einfach machbar richtig?
 

Steven Hachel

Bekanntes Mitglied
Hey Nico,

du musst die Bean mit der @Startup Annotation versehen, damit sie nach dem deployen automatisch startet.
Ansonsten muss die Bean per Aufrzf initiiert werden.

viele Grüße
Steven
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
R Ant FTP Task löscht nichts Allgemeines EE 2
T Java ServerFaces Anwendung mit XHTML & CSS Allgemeines EE 1
E modulare Java-Anwendung verteilen (Camel) Allgemeines EE 0
B Java Mail und idle() mit zig Emailadressen? Allgemeines EE 59
H JWebUnit Fehler: java.lang.NoClassDefFoundError: org/apache/regexp/RESyntaxException Allgemeines EE 24
B Java mail API - möchte nur eine gewisse Anzahl von Emails in die Liste holen Allgemeines EE 3
M Rest mit Java 11 Allgemeines EE 6
M java.lang.SecurityException: class "javax.persistence.TupleElement"'s signer information does not match ... Allgemeines EE 1
F Java Programmierer Allgemeines EE 13
R Wie viel DevOps sollte ein Java-Entwickler kennen, der sich in Microservices spezialisiert? Allgemeines EE 5
Dimax JSP Probleme mit Java in JSP Allgemeines EE 21
Dimax JSP Auf button click java methode ausführen.Ist das möglich? Allgemeines EE 6
B Logging (log4j) in JAVA EE application - WildFly Allgemeines EE 15
A Java EE (am Cleint) und websocket Allgemeines EE 8
J Ich kann Java JDK nicht downloaden Allgemeines EE 6
R Aufbau zum Java EE Entwickler - Schulungen Allgemeines EE 0
G Java EE Hosting ? Allgemeines EE 6
P Java EE Videotutorials Allgemeines EE 1
R Java Enterpise entwickeln mit Virtualbox Allgemeines EE 6
A OutOfMemoryError: Java heap space Allgemeines EE 7
I Start Word from Java Allgemeines EE 1
T Java Jersey Interceptor Allgemeines EE 7
R Post Variable in Java Allgemeines EE 8
L JSP Fehlermeldung bei Verwendung von Java-Expression-Language Allgemeines EE 8
K Wie habt ihr Java EE gelernt? Allgemeines EE 11
hjpsoft JSF Lösung einer Aufgabe im "Workshop Java EE7" Allgemeines EE 5
S Welcher Java EE Applikationserver für RESTful Webservice? Allgemeines EE 2
T Java Login Allgemeines EE 1
L Certified Master Java Enterprise Architect Java EE Allgemeines EE 3
R Java EE 6, eclipse, maven, jsf, hibernate, mysql Allgemeines EE 8
D Einfaches Java Projekt funktioniert nicht Allgemeines EE 3
W Authentifizierung und Sessions in Java EE7 Allgemeines EE 0
OnDemand JSF - java File Verständnisfrage Allgemeines EE 5
OnDemand Deployen ohne .java Files Allgemeines EE 0
E Wie kann ich über einen Suchfeld in Java Server Pages nach Datenbankinhalten suchen? Allgemeines EE 11
V Java EE 7 CDI, annotations und beans Allgemeines EE 1
G Bachelorthesis: Java oder PHP (CMS) Allgemeines EE 7
X Konsolenausgabe einer java klasse in eine jsp umleiten Allgemeines EE 7
S Aufruf eines EJBs aus einer nativen Java-Applikation Allgemeines EE 1
T Fertiges html javascrip css template in java EE application Allgemeines EE 0
F Eclipse/Java EE Debug-Problem Allgemeines EE 1
D Java Projekt goes Webservice Allgemeines EE 6
L Button Handling in JSP mit Java-Backend Allgemeines EE 2
Shams Frage zu Dowload von JAVA SDK Allgemeines EE 5
T Größeres Java EE Beispiel Projekt Allgemeines EE 4
N JavaScript schickt und Java empfängt? Allgemeines EE 4
O Java EE in Netbeans + allgemeine Fragen Allgemeines EE 5
H java selenium spezis? Allgemeines EE 4
H java selenium test connection refused Allgemeines EE 6
M Java EE-Technologie-Lern-Wahl Allgemeines EE 5
B [EJB] javax.inject.DefinitionException: bean not a Java type Allgemeines EE 5
J Java Dependencies auslesen Allgemeines EE 19
2 installation java EE Allgemeines EE 12
J PHP oder Java? Allgemeines EE 12
L Webseiten Formulare über Java Oberfläche ausfüllen? Allgemeines EE 2
T Java CMS Entwicklung : Welcher Weg ist besser? Allgemeines EE 9
F Gesucht: Gratis Server für Java Entwickler Allgemeines EE 4
J Einstieg in Java EE Allgemeines EE 5
aze Eclipse Java EE Web Project:Wo liegen die Servlets ? Allgemeines EE 4
S java Entities Problem Allgemeines EE 19
D Grundüberlegung Java Webprojekt Allgemeines EE 10
F Einstieg in Java EE - Beispielanwendungen Allgemeines EE 52
R JAVA EE - eigene Klassen aus EJB übernehmen Allgemeines EE 2
T "normales" Java Programm auf einen Server laufen lassen Allgemeines EE 3
M EE6+EJB+JavaLib: Error in annotation processing: java.lang.NoClassDefFoundError Allgemeines EE 4
G java ResourceLocator Allgemeines EE 12
M Was ist mit Java möglich? Allgemeines EE 13
T Komponenten zusammenhänge Java EE Allgemeines EE 7
A Java CMS Allgemeines EE 2
P Architektur Java EE <-> HTML5 Allgemeines EE 3
A Java Tomcat findet Website nicht Allgemeines EE 8
F Java EE Server nutzung kostenlos an Schule? (zB. mit Glassfish) Allgemeines EE 6
B Java EE, kickstart my heart Allgemeines EE 10
P Frage zu Java EE Design Patterns Allgemeines EE 3
G EJB und Java EE - No Persistence provider Allgemeines EE 5
zilti Java EE Hosting, worauf muss ich achten? Allgemeines EE 5
M Java EE6: Wie Login-Vorgang durchführen? Allgemeines EE 2
MQue Java Web- Application -> MVC Allgemeines EE 4
G Java <-> Flex Allgemeines EE 2
Spin Ant - Java Beans umsetzen Allgemeines EE 4
V "null" durch NICHTS ersetzen jsp und java beans Allgemeines EE 3
M Serialisierung und Klonen in Java Allgemeines EE 5
W JAVA Optionen auslesen Allgemeines EE 3
D Spring 3 vs. Java EE 6 Allgemeines EE 33
MQue CMS in Verbindung mit Java Allgemeines EE 16
X3TitanCore Java Servertechnologie Allgemeines EE 7
C WebStart Fehler nach update auf Java 1.6 Allgemeines EE 2
R Variablen statt Java-Methoden in EL's Allgemeines EE 4
T Suche Buch für: Large Scale Web-Apps | Clustering | Scaling in Java ? Allgemeines EE 4
G Vergleich zwischen Java Spirng und Ruby on Rails Allgemeines EE 9
K EJB Enterprise Java Beans Allgemeines EE 32
F Ich will mit Java Internetseiten bauen, aber wo hosten? Allgemeines EE 14
J OOP Java Array Problem Allgemeines EE 2
T Problem mit Java Transaction API Allgemeines EE 2
D Java EE vs. Spring/Hibernate Allgemeines EE 26
R Java EE Anfänger will mehr. Allgemeines EE 7
A Fragen zum Einstieg in Java EE Allgemeines EE 11
M Evolution der Web-Entwicklung im Java-Bereich Allgemeines EE 15
N erstes Java EE Projekt - Server/ EJB-Verbindung-Anfängerfage Allgemeines EE 17
G Von Java SE nach JavaEE umsteigen Allgemeines EE 31

Ähnliche Java Themen

Neue Themen


Oben