Domino 9 und frühere Versionen > ND8: Entwicklung
RichTextItem bei Remote-Zugriff per Java-NotesAPI nicht angelegt
masseur81:
Hallo,
ich möchte per Java-NotesAPI in einem neuen Dokument ein RTItem hinzufügen, um mehrzeiligen Text zu hinterlegen. Leider habe ich die Erscheinung, dass das RT-Feld bei Zugriff über lokalen Notes-Client da ist, bei Kommunikation über CORBA mit einem Domino-Server aber nicht - keine Fehlermeldungen.
Woran liegt's?
Hier der Code:
--- Code: ---doc.removeItem(fieldName);
final RichTextItem item = doc.createRichTextItem(fieldName);
boolean firstLine = true;
for(String line : (String[])value) {
if(!firstLine) item.addNewLine();
item.appendText(line);
firstLine = false;
}
....
doc.save(true, false);
--- Ende Code ---
jBubbleBoy:
Bei Richtext habe ich immer gute Erfahrung mir
rt.saveToDisk = true
gemacht, sollte in Java dann so heißen:
rt.setSaveToDisk(true)
Vielleicht hilft es
masseur81:
Danke für den Hinweis, ich seh auch grad noch, dass ein RTItem eine update()-Methode hat.
Ich werd das mal testen.
masseur81:
Funktioniert leider nicht! Beim Speichern des Dokuments bekomme ich eine Exception:
--- Code: ---Caused by: NotesException: Object has been removed
at lotus.domino.NotesExceptionHelper.read(Unknown Source)
at lotus.domino.NotesExceptionHolder._read(Unknown Source)
at lotus.priv.CORBA.iiop.RepImpl.invoke(Unknown Source)
at lotus.priv.CORBA.portable.ObjectImpl._invoke(Unknown Source)
at lotus.domino.corba._IDocumentStub.save(Unknown Source)
at lotus.domino.cso.Document.save(Unknown Source)
at lotus.domino.cso.Document.save(Unknown Source)
--- Ende Code ---
Nein, ich habe das Dokument nicht recycled. Wenn ich kein RT-Feld verwende, dann funktioniert das. Und wenn ich das setSaveToDisk nicht setze, funktioniert es auch.
*grrr*
masseur81:
Könnte es sein, dass ich das RTItem in einer Methode einfüge, das Dokument aber später in einer anderen? Meine Vermutung ist die, dass das RTItem recycled wird, nachdem die Methode durchgelaufen ist (weil das Java-Objekt vom GC gelöscht wird), sodass es später bei doc.save() nicht mehr existiert.
Darf doch aber irgendwie nicht wahr sein? :-:
Navigation
[0] Themen-Index
[#] Nächste Seite
Zur normalen Ansicht wechseln