Domino 9 und frühere Versionen > ND6: Administration & Userprobleme
Websphere JSP Seiten crashen Dominoserver
Ralf_M_Petter:
Gebe dir ja recht, aber erstens ist man später immer klüger und zweitens verhindert die Dominoproplematik mit den Threads und mit recycle viele moderne Konstrukte. Den ich würde gerne mal sehen, wie lange eine moderne Applikation läuft, wenn man nicht dauernd manuell überall dahinter ist, dass auch die recycle() richtig laufen. Da muß sich Lotus dringend was einfallen lassen. Ich versteh ehrlichgesagt nicht ganz, warum Lotus nicht einmal ein paar Leute abstellt, die Java Backendklassen komplett auf Java umsetzt. So dass für die Kommunikation mit dem Server RPC verwendet wird. Dann wären alle Probleme auf einen Schlag weg und man könnte auch JavaObjekte über Sessiongrenze hinweg verwenden usw.
Grüße
Ralf
P.S. von IBM noch neues, ausser dass ich im Stundentakt Daten für die IBM bereitstellen darf.
Achtung ich bin erst am Donnerstag wieder in der Firma, da ich Krampusferien habe. Kann daher nur verzögert antworten.
Marinero Atlántico:
Hi,
ein paar Vergleiche mit anderen Umgebungen:
-> wenn du aus JSP/Servlet auf ein RDBMS zugreifst wird die Connection auch innerhalb eines request-responce cycles neu geöffnet und geschlossen. Gleiches gilt natürlich auch für Transaktionen. Natürlich hat man für RDBMS Connections sowas wie Connection Pools (weniger Performance-Sorgen).
-> in SWT/JFace (GUI-Apis) von Eclipse gibt es etwas genau analoges wie recycle(). Heisst da nur dispose().
Ich glaub, dass man damit klarkommt. Bleiben natürlich das Performance Problem, dass man sich ständig neue NotesSessions besorgen muss.
Glaub aber - nach konkreten Nachdenken - dass die Spezialbedingungen für den Zugriff auf Domino (recycle() + seine Folgen) absolut nicht gegen eine "moderne Architektur" (= Model2) sondern eigentlich sehr dafür sprechen.
Dann kann man auch eher die Vorteile von Domino mit Websphere (statt mit z.B. Tomcat) ausspielen (Single Sign On).
Soweit ich wieder Zeit habe, kann ich mal eine einfache Struts Anwendung, die auf Domino zugreift durchcoden. Momentan habe ich leider total überhaupt keine Zeit.
Eine Anwendung von Model1 auf Model2 zu bringen dürfte natürlich einen ziemlich hohen Aufwand darstellen.
Gruß Axel
Ralf_M_Petter:
Hallo Axel!
Das wäre sicher sehr interessant, aber wie gesagt, ich habe schon ein wenig in diese Richtung experimentiert und das Verhalten von Recycle ist wirklich der Horror. Denn es kann ab und zu passieren, dass wenn man ein untergeordnetes Objekt wie ein Notesentry recycelt, kann es passieren, dass man diesen Notesentry aus der NotesEntryCollection nicht mehr erstellen kann. Das heisst gewisse Objekte dürfen nur recycelt werden, wenn man sie sicher nicht mehr braucht. Da wird es dann schon höllisch.
Grüße
P.S. von IBM noch nichts neues, aber ich habe wieder ein paar Sachen herausgefunden, die ich dann gleich poste.
Marinero Atlántico:
Hi Ralf,
ich sehe ein, dass das ohne konkreten Code Theorie-Waber ist.
Aber: Eclipse gilt ja als moderne Architektur. Und die dort verwendete Grafik-Library SWT lebt mit den gleichen Bedingungen.
Systemressourcen aus dem OS
- müssen explizit mit dispose() freigegegeben werden (Java Garbage Collection reicht nicht aus)
- der dispose() Befehl wird die Containment Hierarchie heruntergegeben. (analog zu notes: db.recycle() recycled auch alle views, die mit dem db Objekt erzeugt worden sind)
- Objekte, deren dispose() Methode aufgerufen worden ist, können nicht mehr wiederverwendet werden.
Glaub, dass mit sauberen geschichtete Architektur/OO-Design diese Bedingungen besser in den Griff zu kriegen sind.
Axel
Ralf_M_Petter:
Falls du wirklich Zeit hast, sowas mal Testweise zu codieren, würde ich mich sehr freuen.
Zu meinem eigentliche Problem. Ich erhalte folgende Fehlermeldungen, während der Hang auftritt die mich in meiner Meinung bestätigen, dass das Problem auf jeden Fall beim initialisieren bzw terminieren der Threads auftritt.
Hier die Meldungen
MCH3601 Abbruch 40 07.12.04 21:50:28,269024 LIBNOTES QDOMINO603 *STMT LIBNOTES QDOMINO603 *STMT
Von Benutzer . . . . . . . : QNOTES
Ausgangsmosul . . . . . . . : LOCAL
Ausgangsprozedur . . . . . : OSLocalAllocNZ
Anweisung . . . . . . . . . : 2
Zielmodul . . . . . . . . . : LOCAL
Zielprozedur . . . . . . . : OSLocalAllocNZ
Anweisung . . . . . . . . . : 2
Thread . . . . : 000000B3
Nachricht . . . : Zeiger für angegebene Position nicht gesetzt.
Ursache . . . . : Es wurde ein Zeiger, entweder direkt oder als ein
Basiszeiger verwendet, für den keine Adresse festgelegt worden war.
MCH3601 Abbruch 40 07.12.04 21:50:28,469544 LIBNOTES QDOMINO603 *STMT LIBNOTES QDOMINO603 *STMT
Von Benutzer . . . . . . . : QNOTES
Ausgangsmosul . . . . . . . : LOCAL
Ausgangsprozedur . . . . . : LocalTermThread
Anweisung . . . . . . . . . : 1
Zielmodul . . . . . . . . . : LOCAL
Zielprozedur . . . . . . . : LocalTermThread
Anweisung . . . . . . . . . : 1
Thread . . . . : 000000B3
Nachricht . . . : Zeiger für angegebene Position nicht gesetzt.
Ursache . . . . : Es wurde ein Zeiger, entweder direkt oder als ein
Basiszeiger verwendet, für den keine Adresse festgelegt worden war.
MCH3601 Abbruch 40 07.12.04 21:50:40,794504 LIBNOTES QDOMINO603 *STMT LIBNOTES QDOMINO603 *STMT
Von Benutzer . . . . . . . : QNOTES
Ausgangsmosul . . . . . . . : LOCAL
Ausgangsprozedur . . . . . : OSLocalAllocNZ
Anweisung . . . . . . . . . : 2
Zielmodul . . . . . . . . . : LOCAL
Zielprozedur . . . . . . . : OSLocalAllocNZ
Anweisung . . . . . . . . . : 2
Thread . . . . : 000000B3
Nachricht . . . : Zeiger für angegebene Position nicht gesetzt.
Ursache . . . . : Es wurde ein Zeiger, entweder direkt oder als ein
Basiszeiger verwendet, für den keine Adresse festgelegt worden war.
MCH3601 Abbruch 40 07.12.04 21:50:40,808656 LIBNOTES QDOMINO603 *STMT LIBNOTES QDOMINO603 *STMT
Von Benutzer . . . . . . . : QNOTES
Ausgangsmosul . . . . . . . : LOCAL
Ausgangsprozedur . . . . . : LocalTermThread
Anweisung . . . . . . . . . : 1
Zielmodul . . . . . . . . . : LOCAL
Zielprozedur . . . . . . . : LocalTermThread
Anweisung . . . . . . . . . : 1
Falls diese Meldungen irgendwer kennt, oder weiß wo Informationen dazu stehen freue ich mich über die Info.
Grüße
Ralf
Navigation
[0] Themen-Index
[#] Nächste Seite
[*] Vorherige Sete
Zur normalen Ansicht wechseln