AJAX mit JBoss

rantanohneplan

Grünschnabel
Hi!

Ich arbeite mich gerade in AJAX ein. Ich habe bisher den Jetty benutzt und möchte das gleiche jetzt noch mit dem JBoss versuchen. Funktioniert bisher auch alles. Das heißt, dass Requests erzeugt werden und ich den Inhalt auch ändern kann und alles. Allerdings hab ich nun das Problem, dass ständig Requests erzeugt werden. Ich suche also eine Möglichkeit, die ähnlich den Continuations vom Jetty ist bzw. das gleiche Ergebnis liefert. Ein Request soll also erzeugt werden und soll dann auf eine Änderung warten bis sich eben was ändert oder bis nach 10 Minuten ein Timeout einsetzt. Kennt sich jemand mit dem JBoss aus und kann mir sagen, ob es da eine Möglichkeit gibt?

Gruß Rantan
 
Hat niemand eine Idee? Ich hab nochmal ein bißchen recherchiert und hab was über APR und NIO Connectoren gelesen. Aber mir ist noch nicht ganz klar geworden, ob die wirklich das machen was ich brauche. Und die gibt es wohl in der Weise auch erst beim Tomcat 6 und ich arbeite noch mit dem Tomcat 5.5...
Kann doch eigentlich nicht sein, dass der Tomcat sowas wie die Continuations vom Jetty nicht drauf hat...das ist doch gerade das tolle an AJAX oder bin ich da falsch informiert?

Gruß
Rantan
 
hi,
vielleicht hilft dir http://rifers.org weiter (ein Java Framework), es erlaubt dir wie bei jetty mit Continuations zu arbeiten. Ist zwar etwas oversized, aber ich persönlich finde es ganz schick.
Wobei ich dir eher ein Update auf den aktuellsten Tomcat empfehlen würde (-> Comet API ist dein Freund *fg*). Das von dir angesprochene APR gibt es meines Wissens schon seit 5.5.

Viele grüße!
l|N
 
Ich habe jetzt erstmal die Alternative Methode über synchronized Blöcke und wait() und notifyAll() Methoden gewählt. Die requests bleiben jetzt hängen. Jetzt hab ich allerdings das gleiche Phänomen wie beim Jetty vorliegen. Ab acht Verbindungen bzw. Threads blockiert der JBoss bzw. der Tomcat einfach. Das heißt, dass noch nicht einmal die doGet Methode des aufgerufenen Servlets aufgerufen wird. Ich habe dazu ein System.out.println eingefügt und habe folgende Ausgabe beim JBoss:

11:04:48,747 INFO [STDOUT] ---------- HelloServlet doGet ----------
11:04:48,918 INFO [STDOUT] http-0.0.0.0-8080-1 1181207088918
11:05:02,235 INFO [STDOUT] ---------- HelloServlet doGet ----------
11:05:02,343 INFO [STDOUT] http-0.0.0.0-8080-2 1181207102343
11:05:03,857 INFO [STDOUT] ---------- HelloServlet doGet ----------
11:05:03,954 INFO [STDOUT] http-0.0.0.0-8080-3 1181207103954
11:05:05,520 INFO [STDOUT] ---------- HelloServlet doGet ----------
11:05:05,553 INFO [STDOUT] http-0.0.0.0-8080-4 1181207105553
11:05:07,085 INFO [STDOUT] ---------- HelloServlet doGet ----------
11:05:07,163 INFO [STDOUT] http-0.0.0.0-8080-5 1181207107163
11:05:09,044 INFO [STDOUT] ---------- HelloServlet doGet ----------
11:05:09,136 INFO [STDOUT] http-0.0.0.0-8080-6 1181207109136
11:05:11,154 INFO [STDOUT] ---------- HelloServlet doGet ----------
11:05:11,215 INFO [STDOUT] http-0.0.0.0-8080-7 1181207111215
11:05:13,480 INFO [STDOUT] ---------- HelloServlet doGet ----------
11:05:13,549 INFO [STDOUT] http-0.0.0.0-8080-8 1181207113549

Die ersten acht kommen also problemlos durch und der neunte lädt und lädt und nichts passiert, wie daran zu erkennen ist, dass nur acht HelloServlet-doGet-Methoden aufgerufen werden. Hat jemand ne Idee wie man da was dran drehen könnte?

Gruß Rantan
 
Zurück