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

Websphere JSP Seiten crashen Dominoserver

<< < (4/5) > >>

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