[JSP/Servlets] Status abfragen während einer Methode ohne EJB?

Chimaira

Erfahrenes Mitglied
Hoi Leute,

und wieder habe ich eine Frage. Wie kann ich eine Methode aufrufen und über den Listener den Status abfragen?

Ich habe einen DeploymentListener. Dieser handlt das DeploymentEvent welchen einen Status zurück gibt (isCompleted, isFailed, isRunning)

So da ich aber nicht nur isCompleted und isFailed habe, sondern auch isRunning muss ich ja in einem bestimmten Intervall auch mal nachfragen wie weit die Methode ist.

Das ganze soll in einem Servlet aufgerufen werden. Beispiel:

Code:
protected void doPost(HttpServletRequest request,
	            HttpServletResponse response) throws ServletException, IOException {	
    //......Upload ..... nach Upload:
    oas.redeploy(..., ..., ..., ..., ... , ... , ... , final DeploymentListener listener);
    request.getSession().setAttribute("depLis", listener);
    response.sendRedirect("./blabla");
}

So hatte ich mir das gedacht, aber er bleibt ja bei redeploy hängen und gibt danach erst den Status an den Listener weiter. Und da ich irgendwo gelesen habe, dass man kein Thread aufmachen soll, weiß ich mir nicht zu helfen.

Ich hoffe mir kann jemand helfen. (Gierke ? ^^)

GReeze Chimaira
 
Jup, Threads sind nicht drin in ner Serverumgebung... du solltest also deinen deployprozess asynchron anstoßen, z.B. über eine MessageDrivenBean. Mit nem Observerpattern kannst du dann den Status monitoren.

Gruß
Ollie
 
hmm okay. Aber mein Projekt noch mit Beans zu bestücken ist bestimmt zu aufwendig. Danke aber für die Antwort.
 
Ich dachte, das wäre schon irgendwas mit EJB. Einfaches JMS MessageListener Interface reicht aber auch. Um die Infrastruktur (eine MessageQueue) kommst du allerdings nicht herum. ActiveMQ is recht easy zu benutzen, zur Not halt JBoss oder Glassfish, je nach Präferenz und restlichen Anforderungen.

Gruß
Ollie
 

Neue Beiträge

Zurück