jeder request eigener Thread ?

Status
Nicht offen für weitere Antworten.

Grasstampfer

Gesperrter Benutzer
Hi,

versuche gerade das servlet konzept zu verstehen... ich hoffe ihr koennt mir hier helfen.

Ich habe verschiedene Servlets als war aufm Jboss deployed. Meine Frage ist - hat jeder Request an das selbe bzw an unterschiedliche Servlets seinen eigenen Thread ?

Soviel ich weiss gibt es pro Session stehts eine Instanz eines Servlets - richtig ?

Was ist wenn ich nun ueber versch. Http Requests zwei servlets anspreche - laufen die in untersch. Threads oder teilen sie sich einen ?

Das ist in der hinsicht fuer mich interessant, als dass ich ueber ajax request an die servlets schicke und ich ungern will, dass diese sich gegenseitig lahmlegen.

Danke euch.
 
M

maki

Gast
Ich habe verschiedene Servlets als war aufm Jboss deployed.
Wenn du keine EJBs hast, brauchst du keinen JBoss, der normale Tomcat reicht und ist dann die viel bessere Alternative.

Soviel ich weiss gibt es pro Session stehts eine Instanz eines Servlets - richtig ?
Falsch.
Ein Thread pro Request, aber nur ein einziges Servlet, Sessions haben da nix mit zu tun.

Was ist wenn ich nun ueber versch. Http Requests zwei servlets anspreche - laufen die in untersch. Threads oder teilen sie sich einen ?
Jeweils ein eigener Thread.

Das ist in der hinsicht fuer mich interessant, als dass ich ueber ajax request an die servlets schicke und ich ungern will, dass diese sich gegenseitig lahmlegen.
Tja, so ist das in einem Multithreaded Environment, musst threadsicher programmieren.
 

Grasstampfer

Gesperrter Benutzer
maki hat gesagt.:
Ich habe verschiedene Servlets als war aufm Jboss deployed.
Wenn du keine EJBs hast, brauchst du keinen JBoss, der normale Tomcat reicht und ist dann die viel bessere Alternative.
momentan habe wir auf der arbeit nur den jboss aufgrund anderer projekte. Warum genau waere hierfuer der Tomcat wesentlich besser ?

maki hat gesagt.:
Soviel ich weiss gibt es pro Session stehts eine Instanz eines Servlets - richtig ?
Falsch.
Ein Thread pro Request, aber nur ein einziges Servlet, Sessions haben da nix mit zu tun.
mhm - mal schaun ob ich das richtig verstanden habe.

jeder request arbeitet in einem eigenen Thread - alle Threads bzw Requests arbeiten aber auf dem gleichen Servlet ?

Bsp: Es gibt Servlet A, das von Servlet B erbt. Und es gibt Servlet C, was auch von Servlet B erbt.
Nun kommt Request 1 an das Servlet A und Request 2 an das Servlet C... beide requests arbeiten in untersch. Threads auf untersch. Servlets.
Waehrend Request 1 noch laeuft kommt Request 3 auch an Servlet A... Request 1 und Request 3 arbeiten in untersch. Threads auf dem gleichen Servlet

richtig ?

Das ist in der hinsicht fuer mich interessant, als dass ich ueber ajax request an die servlets schicke und ich ungern will, dass diese sich gegenseitig lahmlegen.
Tja, so ist das in einem Multithreaded Environment, musst threadsicher programmieren.[/quote]
jo das ist dann klar :)

danke dir
 
M

maki

Gast
momentan habe wir auf der arbeit nur den jboss aufgrund anderer projekte. Warum genau waere hierfuer der Tomcat wesentlich besser ?
JBoss hat auch einen Tomcat, aber eine "embedded" Version, andere Verzeichnissstruktur etc. pp.
Tomcat an sich ist viel leichtgewichtiger als JBoss, einfacher zu entwickeln, bessere IDE Unterstützung (WTP in Eclipse), einfacherer Deploy.
Ohne EJBs gibt es keinen Grund den JBoss herzunehmen, umständlicher als nötig.

jeder request arbeitet in einem eigenen Thread - alle Threads bzw Requests arbeiten aber auf dem gleichen Servlet ?
Ja.
Es gibt nur eine Servletinstanz pro Servletmapping (in der web.xml) und das ist gut so.
Alle Request schlagen mit einem eigenen Threads in diesem Servlet auf, deswegen ist da besondere Vorsicht geboten bez. geteilter Ressourcen, und sei es auch nur Instanzvariablen (wenn, dann nur lesen!).

Bsp: Es gibt Servlet A, das von Servlet B erbt. Und es gibt Servlet C, was auch von Servlet B erbt.
Nun kommt Request 1 an das Servlet A und Request 2 an das Servlet C... beide requests arbeiten in untersch. Threads auf untersch. Servlets.
Waehrend Request 1 noch laeuft kommt Request 3 auch an Servlet A... Request 1 und Request 3 arbeiten in untersch. Threads auf dem gleichen Servlet

richtig ?
k.A. warum du da Vererbung mit rein bringst (;)), aber im Prinzip ja.
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
T Servlet Request.getAttribut returns null from JSP Select-Box Allgemeines EE 4
M URL Servlet Request getParameter Allgemeines EE 2
G Request zu richtiger App leiten Allgemeines EE 2
J Client Request vom Server aus. Allgemeines EE 2
A Servlet erkennt request Objekt nicht Allgemeines EE 8
E Performance-Problem beim ersten Request Allgemeines EE 4
K Read Request Body Allgemeines EE 4
R Ist es möglich die Request paramter auf "null" zu Allgemeines EE 3
D Objekt geht bei request verloren Allgemeines EE 9
G Http request bekommen parsen und response senden Allgemeines EE 1
G Ablauf bei Request Allgemeines EE 4
M "Auto Client-Request" oder Server-Push oder Ajax – Allgemeines EE 2
N Servlet-Request abbrechen? Allgemeines EE 3
R Formulardaten mit request.getAttribute(name) Allgemeines EE 4
H request in JSP Seite ? Allgemeines EE 4
F Wie auf request.params mittels ${} zugreifen? Allgemeines EE 7
C JSF: request nach ausführung killen? Allgemeines EE 7
J init-Methode eines Servlet ausführen ohne vorherigen request Allgemeines EE 2
B Java-Client für eBaySOAP-API liefert HTTP(400) Bad Request Allgemeines EE 2
TRunKX Wie kriege ich die Auswahl in meinen Server Request? Allgemeines EE 7
S request.getParameter() holt NULL Allgemeines EE 4
K Request Problem Allgemeines EE 3
D Problem mit EJB: Bean soll Objekt eigener Klasse zurückgeben Allgemeines EE 2
Reeny Eigener Tag inkl. Javascript - Skript nur einmal importieren Allgemeines EE 4
J Tomcat mit eigener Session-Implementierung Allgemeines EE 15
G eigener Tomcat-Connector f. propiet. Protokoll via TCP/IP Allgemeines EE 2
G JSF "Eigener Validator" Wie reagiert man auf ein l Allgemeines EE 3

Ähnliche Java Themen

Neue Themen


Oben