Das Notes Forum

Lotus Notes / Domino Sonstiges => Java und .NET mit Notes/Domino => Thema gestartet von: grandmetre am 27.03.08 - 10:15:55

Titel: NotesException: Object has been removed or recycled
Beitrag von: grandmetre am 27.03.08 - 10:15:55
Hallo zusammen,

Ich versuche gerade in einer eigenen in java programmierten GUI dragndrop zu realisieren. Dabei benutze ich einen in Maske integrierten Agent. Wenn ich direkt auf den AgentContext zugreife funktioniert alles wie es soll. Wenn ich aber nach dem DropEvent wieder darauf zugreifen will wird die NotesException: "Object has been removed or recycled" geschmissen. Auch wenn ich versuche die Session oder die Datenbank zwischenzuspeichern hat das die gleiche Reaktion. Ich schätze mal, dass diese Objekte nicht mehr gültig sind, wenn sie von einem anderen Thread aufgerufen werden. Ich habe auch schon versucht einen eigenen NotesThread zu erzeugen und darüber zu gehen. Dabei meckert er, dass die Datenbank schon "open" ist, was ja auch der Fall ist.
Wie kann ich nun im gleichen Agent mit Listenern und Events immer wieder auf die gleiche Session / Datenbank zugreifen?
Titel: Re: NotesException: Object has been removed or recycled
Beitrag von: flaite am 27.03.08 - 13:31:57
Dafür wurden Domino Agenten eigentlich nicht gebaut.
Du hast da einiges sehr richtig erkannt.
Du musst aufpassen, dass der Agent niemals terminiert (läuft auf Endlosschleife hinaus, die durch ein bestimmtes event terminiert wird).
Vom architektonischen Standpunkt halte ich das für keine gute Idee.
Mit Notes 8 gehts, weil man dort Eclipse Design-Elemente mit traditionellen Notes Design-Elementen mischen kann.

Gruß Axel
Titel: Re: NotesException: Object has been removed or recycled
Beitrag von: grandmetre am 27.03.08 - 13:36:40
Sowas hatte ich mir schon gedacht. Ich werde jetzt versuchen aus dem Agent heraus extern mit den benötigten Parametern einen NotesThread zu starten. Ist zwar nicht ganz das was ich wollte sollte aber hinhauen.
Danke für die Antwort.
Titel: Re: NotesException: Object has been removed or recycled
Beitrag von: flaite am 27.03.08 - 13:56:09
Wie willst du den Thread am Leben halten, wenn der Agent terminiert? Ich fürchte das geht nicht. 
Titel: Re: NotesException: Object has been removed or recycled
Beitrag von: grandmetre am 27.03.08 - 14:08:09
Ich hab mich leider falsch ausgedrückt. Ich werde einen neuen Prozess starten, in dem der NotesThread läuft. Dann bin ich zwar komplett vom Notes-Client getrennt habe aber die geforderte GUI. Man kann halt nicht alles haben :-)
Titel: Re: NotesException: Object has been removed or recycled
Beitrag von: flaite am 27.03.08 - 14:44:25
Im Sinne eines eigenen externen Java Programms, vermutlich.
Mindplan (Haus Weilgut) ist eine recht aufwendige Gui Anwendung mit Notes Backend. Die machen das genau so.
Anders  gibts einfach zu viel  Probleme.

Gruß Axel
Titel: Re: NotesException: Object has been removed or recycled
Beitrag von: etefk8 am 28.04.08 - 23:39:12
Ich glaube, ich habe das gleiche Problem.

Also, kann man im Notes-Agent keine Java-GUIs mit Eventverarbeitung nutzen ?
Titel: Re: NotesException: Object has been removed or recycled
Beitrag von: koehlerbv am 28.04.08 - 23:54:03
Es gibt keinen Zugang von Java zu Notes-UI-Klassen. Wenn Du das meinen solltest. Was Dein Java-Code hinsichtlich GUI leistet, ist davon unbenommen.

Bernhard
Titel: Re: NotesException: Object has been removed or recycled
Beitrag von: grandmetre am 29.04.08 - 14:58:59
Man muss im selben Thread bleiben, sonst hat man keine Möglichkeit mehr auf die aktuelle Session zuzugreifen. Da Events meist von Listenern ausgelöst werden, die in einem eigenen Thread laufen um die ganze Zeit horchen zu können, kann man mit diesen nicht arbeiten.