Domino 9 und frühere Versionen > ND6: Administration & Userprobleme

Websphere JSP Seiten crashen Dominoserver

<< < (2/5) > >>

Ralf_M_Petter:
Hm!

Habe jetzt mal einen Stacktrace händisch in der Entwicklungsumgebung durchgeführt im Webspehere Express Testserver vom WSDC. Da schreibt er die Zeile auch mit Apache. Das seltsame ist, dass momentan läuft der Websphere und der Domino wieder einwandfrei. Meine Vermutung geht wie gesagt dahin, dass das Problem auftritt wenn man den Websphere neu startet, während Zugriffe auf die Servlets erfolgen. Ich befürchte er ruft dann während das Servlet gerade läuft die Destroy Methode auf. und erledigt dann den Thread. Das heisst, er unterbricht das Servlet zwischen der Grenze von NotesThread.sinitThread und NotesThread.stermThread.  Dadurch kommt Domino aus dem Tritt, da er extrem sensibel reagiert, wenn auf ein init kein term folgt. Eine Bestätigung dieses Sachverhalts wäre natürlich für mich extrem wertvoll, denn dann muß ich einfach schauen, dass ich zuerst den Zugriff auf die Servlets unterbinde und dann erst den Websphere stoppe. Habe übrigens jetzt ein Problem bei IBM dazu eröffnet und denen mal die ganzen Logs von unserem Websphere geschickt. Schauen wir mal was die dazu sagen.

Grüße

Ralf

Marinero Atlántico:
Guter Punkt !!!

Es gibt in jsp wie du vermutlich weisst eine Destroy-Methode, die im Lifecycle immer unmittelbar vor dem zerstören der Servlet Instanz aufgerufen wird. Keine Zeit jetzt die Syntax abzuschecken. Aber da kannst du vielleicht dein stermThread zusätzlich reinschreiben?
Vermutlich nicht, weil NotesThread lokal in _jspService verwendet wird? Ach ne. Ist ja eine Klassen-Methode.

Gruß Axel

Ralf_M_Petter:
An das hätte ich schon gedacht, aber leider geht das auch nicht, da Destroy ja vermutlich ein anderer Thread ist. Und vor allem es darf nie ein termThread gemacht werden ohne sinit. Dieses Dominospezifikum geht mir schon so auf die Nerven.

Ich warte jetzt erst mal ab, was die IBM sagt und berichte dann. Danke für deine Ideen. Hilft oft schon wenn man anderen Input kriegt um wieder etwas weiterzukommen auch wenn die Lösung noch nicht in Sicht ist.

Grüße

Ralf

Marinero Atlántico:
Ich frage mich, ob du den sinitThread/stermThread Teil nicht in einen synchronized Block einschliessen musst?
Wie du weisst sind servlets multithreaded, d.h. as-is kann 2x hintereinander sinitThread aufgerufen werden. Was passiert dann?

Gruß Axel

Ralf_M_Petter:
Das ist nicht weiter tragisch, da ja sinitThread immer nur für einen Thread gilt. Das heisst, wenn in einem Thread sinitThread kommt. Dann beim selben Servlet Thread2 mit sinitThread dann Thread1 mit stermThread terminiert wird  und dann Thread2 ebenfalls terminiert wird ist das kein Problem. Ein crash kommt wenn entweder in ein und dem selben Thread 2 mal der Thread initialisiert wird, oder wenn der Thread nicht terminiert wird. Ich habe aber keine Ahnung, bzw wäre ich froh wenn ich wüsste was beim Initialisieren bzw beim Terminieren passiert. Die von IBM haben in der Zwischenzeit geschrieben und zusätzliche Details wie releasestände Patches usw. angefordert. Aber sonst noch nichts neues. Ausser dass ich den Server wieder zum laufen bekommen habe ohne genau zu wissen warum und momentan läuft er. Wahrscheinlich bis zum nächsten mal, wo ich etwas an der Applikation updaten muß. Das ist spätestens nächste Woche der Fall.

Grüße

Ralf

Navigation

[0] Themen-Index

[#] Nächste Seite

[*] Vorherige Sete

Zur normalen Ansicht wechseln