Zitat Zitat von KM
Oje, da hab ich ja eine ganz schöne Diskussion angezettelt.
Nicht so schlimm, man sieht nur daran, dass Threads wohlüberlegt eingesetzt werden sollten.

Zitat Zitat von BenderD
Erzeugung von Threads ist normalerweise dem Container überlassen (der das nebenbei bemerkt. besser kann, der verwendet Pools, kümmert sich um Leichen, etc.)
Thread-Pools (derzeit noch manuell, wenn die letzte 1.4'er AS/400 rausfliegt, dann die von 1.5) verwende ich auch.
Achja, an mein Java lasse ich nur JDBC (Aufrufe von CL/Cobol/RPG nur über Stored Procedures) und maximal DataQueues (und die mit Kontrollthread).

Beispiel: Der Suchindex meiner Katalogapplikation steht via Sockets auch den Cobol/RPG Programmen für die Volltextsuche zur Verfügung. Dazu habe ich einen Listener (Socketserver) mit einem Pool von 5 Threads laufen. Die GreenScreen-Anwendung können so auch Volltextsuchen in den (externen) Katalogdaten (MSSQL-DB) vornehmen.

Zitat Zitat von KM
Da das mein erstes Servlet und meine erste Thread-Erzeugung war, hätte ich zu den Threads noch eine Frage. Ist es normal, dass der Thread noch weiterläuft, auch wenn das übergeordnete Servlet beendet wurde ? Mir ist das aufgefallen als ich das Servlet beendet hatte, dass dann die Verarbeitung der DTAQ (die in diesem Thread durchgeführt wird) immer noch stattgefunden hat. Erst durch Beschicken der DTAQ wurde offenbar der Thread beendet. Dann kam auch irgendein "Illegal..." Fehler. Ich werde nun also immer erst den Thread über die DTAQ beenden, bevor ich das Servlet beende.
Da musst du mir mal erklären wie du das Servlet beendest? Wann der Webcontainer das Servlet wegschmeißt, hängt allein von ihm ab - außer man dreht die Server bzw. die Applikation ab.