Lotus Notes / Domino Sonstiges > Java und .NET mit Notes/Domino

java/lang/OutOfMemoryError in einem Zeitgesteuerten Agenten

(1/3) > >>

USmash:
Wir haben ein kleines, nein grosses Problem mit einem zeitgesteuerten Agenten.

Es wurde ein Java Agent erstellt, der eine ORACLE Datenbank abfragen soll. Nachdem der Agent gestartet ist läuft er scheinbar problemlos, stürzt dann aber irgendwann; mal nach 6 Durchgängen, mal nach 25 Durchgängen mit dem Fehler "java/lang/OutOfMemoryError" ab. Lediglich der Neustart des Servers behebt dann den Fehler.
Der Agent liest das erste Dokument aus einer Ansicht, und schreibt dann eine Adresse ins Dokument (String) und speichert das Dokument.
Im Fehlertext wird dann aber die Meldung 'Attempt to retrieve Java agent attachments failed' ausgegeben. Da wir aber gar keine Attachments verarbeiten ein Mysterium -oder- ?

HELP


Hier der Agentlog
19.01.2012 11:04:24   AMgr: Agent ('Test1' in 'bereiche\test\JDBCTest.nsf') error message: JVMDUMP006I Speicherauszugsereignis "systhrow" wird verarbeitet; Detail "java/lang/OutOfMemoryError" - Bitte warten.

19.01.2012 11:04:24   AMgr: Agent ('Test1' in 'bereiche\test\JDBCTest.nsf') error message: JVMDUMP007I JVM fordert Snap-Speicherauszug mit 'D:\Programme\Lotus\Domino\Prog\Snap.20120119.110424.1916.0005.trc' an.

19.01.2012 11:04:24   AMgr: Agent ('Test1' in 'bereiche\test\JDBCTest.nsf') error message: JVMDUMP010I Snap-Speicherauszug geschrieben auf D:\Programme\Lotus\Domino\Prog\Snap.20120119.110424.1916.0005.trc

19.01.2012 11:04:24   AMgr: Agent ('Test1' in 'bereiche\test\JDBCTest.nsf') error message: JVMDUMP007I JVM fordert Heap-Speicherauszug mit 'D:\Programme\Lotus\Domino\Prog\heapdump.20120119.110424.1916.0006.phd' an.

19.01.2012 11:04:24   AMgr: Agent ('Test1' in 'bereiche\test\JDBCTest.nsf') error message: JVMDUMP010I Heap-Speicherauszug geschrieben auf D:\Programme\Lotus\Domino\Prog\heapdump.20120119.110424.1916.0006.phd

19.01.2012 11:04:24   AMgr: Agent ('Test1' in 'bereiche\test\JDBCTest.nsf') error message: JVMDUMP013I Speicherauszugsereignis "systhrow" verarbeitet, Detail "java/lang/OutOfMemoryError".

19.01.2012 11:04:24   AMgr: Agent ('Test1' in 'bereiche\test\JDBCTest.nsf') error message: Ausnahmebedingung in Thread "main"
19.01.2012 11:04:24   AMgr: Agent ('Test1' in 'bereiche\test\JDBCTest.nsf') error message: java.lang.OutOfMemoryError
19.01.2012 11:04:24   JVM: The addAttachment (Ljava/lang/String;[B)V() method failed.
19.01.2012 11:05:22   AMgr: Agent 'Test1' in 'bereiche\test\JDBCTest.nsf' did not process all documents successfully.  Check the Agent Log for more information: JVM: Attempt to retrieve Java agent attachments failed.

Ralf_M_Petter:
Ich nehme mal an, dass du kein recycle in deinem Agent verwendest. Das solltest du unbedingt verwenden.

Grüße

Ralf

eknori (retired):
jepp, recycle() sollte helfen. Der Fehler geistert schon seit version 4 im LDD rum und immer war es irgendein Object, das nicht vernünftig recycled wurde.

USmash:
Danke für den Hinweis auf recycle(). Als guter Forumsleser hab ich natürlich vorher mal gesucht  ;) .

Ich habe die Funktion schon benutzt. Wir haben an den Servereinstellungen für HTTPJavaMaxHeapSize=256M gesetzt; auf einem anderen Server auf 512M. Hat aber auch keinen Erfolg gebracht.  :(

Ralf_M_Petter:
Eventuell postest du mal etwas code. Dann tut man sich sicher bei der Hilfe leichter.

Übrigens wie hast du denn den JDBC Treiber eingebunden. Hast du ihn in die NSF gepackt oder über die JVM eingebunden?

Grüße

Ralf

Navigation

[0] Themen-Index

[#] Nächste Seite

Zur normalen Ansicht wechseln