Domino 9 und frühere Versionen > ND8: Entwicklung
"Invalid file handle" bei Zugriff auf MIMEEntity
masseur81:
Hallo,
per Notes API lade ich Dateien aus einer MIME Entity eines Dokumentes. Das Ganze passiert im Kontext eines Webcontainers, also multithreaded. Nun bekomme ich bei mehrmaligem Zugriff folgende Meldung:
NotesException: invalid file handle
at lotus.domino.local.MIMEEntity.NgetContentAsBytes(Native Method)
at lotus.domino.local.MIMEEntity.getContentAsBytes(Unknown Source)
Woher kommt das?
Ralf_M_Petter:
Sind alle Threads für die Verwendung von Notes initialisiert?
Verwendest du in jeden Thread ein eigenens Session Objekt oder Sharest du es über mehrere Threads.
Verwendest du recycle()?
Bitte poste doch mal Codefragmente sonst kann man nur schwer was sagen.
Grüße
Ralf
masseur81:
Also Codefragmente kann ich nicht liefern, ist alles ziemlich verstreut (wie bei OO eben normal).
Aber ich kann sagen, dass ich nur eine Session in mehreren Threads verwende, dass ich schon darauf geachtet habe, immer brav zu recyceln. Und die Threads müssen initialisiert sein, sonst könnte ich nicht auf das Dokument zugreifen.
Mir ist halt nicht klar, was diese Meldung bedeuten soll. Es klingt ja schon irgendwie nach Zugriff der Notes-Objekte auf das Dateisystem. EmbeddedObjects werden ja glaub ich auch als temporäre Datei abgelegt. Aber ich finde einfach keinen Hinweis darauf.
Ralf_M_Petter:
Wenn du die Session über mehrere Threads hinweg benützt wird das sicher zu Probleme führen. du schreibst das ganze funktioniert im Kontext eines Webcontainers. Was soll das genau heissen reden wir hier von Servlets oder JSP. Bitte gib mehr Infos, dann kann ich auch besser helfen.
Grüße
Ralf
masseur81:
Ich geb mir Mühe mit den Infos. Wie du sagst - im Kontext eines Webcontainers heißt aufgerufen im Servlet, also in separaten Threads bzw. in einem Thread-Pool.
Ich habe doch aber mal gelesen, dass die Objekte einer Session synchronisiert sind. Quelle war glaub ich die Doku selbst.
Navigation
[0] Themen-Index
[#] Nächste Seite
Zur normalen Ansicht wechseln