Ausführen von Code beim Serverstart

Status
Nicht offen für weitere Antworten.

Andreas29

Bekanntes Mitglied
Hi Leute,

das Thema ist nicht so einfach, wie der Titel klingt...
Über einen ServletContextListener kann ich ja beim Start des Servers eigenen Code ausführen. Soweit so gut, Nachteil dabei ist, das ja der Server wartet, bis der Codeblock beendet wird. Ist es über den Standard irgendwie möglich, Code beim Serverstart so auszuführen, das er quasi im Hintergrund ausgeführt wird, der Server aber nicht blockiert wird.

Mein Problem ist, das ich eine Operation habe, die ca. 30 Sekunden dauert, der Server aber nach wenigen Sekunden schon hochgefahren sein muss und ich deshalb nicht auf die Beendigung meiner Aktion warten kann...

Ich hoffe, man kann so einigermaßen verstehen, was ich suche... :)

Bin für jeden Tipp dankbar und jetzt schonmal danke!!

Liebe Grüße,
Andreas
 
M

maki

Gast
Könntest einen eigenen Thread starten.

Aus Neugier: Welche Operation dauert denn 30 sekunden?
 

Andreas29

Bekanntes Mitglied
Hi Maki,

erstmal danke für deine schnelle Antwort!!

Gibt es keine andere Möglichkeit? Das ich dem Server irgendwie sagen kann, führe diese oder jene Klasse bitte im Hintergrund aus?

Um deine Neugierde zu befriedigen:
Das Einlesen größerer XML-Dokumenten via DOM...

Grüße,
Andreas
 
S

SlaterB

Gast
warum sollte es diese Möglichkeit geben?
bei Serverstart wird eine Klasse aufgerufen und gut ist,

die drei Zeilen kann man doch selber schreiben,
bei so wichtigen Dingen muss man doch nicht minimale Details per Konfiguration steuern,
 

Andreas29

Bekanntes Mitglied
Hi SlaterB,

auch dir danke für deine Antwort.

Ich denke nur, das es praktisch wäre, die Thread-Verwaltung dem Server zu überlassen und dort nicht mit eigenen Thread zu arbeiten. Von daher hoffte ich, dass es eine Konfigurationmöglichkeit gibt, die da sinngemäß z.B. sagt: Führe die init-Methode vom Servlet xyz in einem eigenen Thread unabhängig vom Start-Thread des Servers aus. Dem scheint ja aber nicht so zu sein. Schade auch. Spielst du mit deinen "drei Zeilen Code" darauf an, das ich einen eigenen Thread dafür erzeugen soll?

Grüße,
Andreas
 
M

maki

Gast
Der Server muss warten, bis die init Methode durch ist, könnten ja Fehler passieren, deswegen nur ein Thread.
 
S

SlaterB

Gast
@Andreas29
genau,

und ich danke dir nicht für deine Frage und hoffe, dass du das Wort 'Danke' nun nicht in jedem Post schreibst :bae:
 
Status
Nicht offen für weitere Antworten.

Ähnliche Java Themen


Oben