Hallo!
Ich arbeite momentan an einer J2EE Applikation, die unter Anderem über DIIOP auf eine Domino Datenbank zugreift.
Dazu wird eine Session geöffnet, es werden Dokumente geladen (meßtens über db.FTSearch) und es werden Änderungen an den Dokumenten vorgenommen.
Nun muss ich leider feststellen, daß wenn ich mit einer bestehenden Session ein Dokument lade, die Inhalte der Felder nicht immer den tatsächlich aktuellen Werten in der Datenbank entsprechen.
Wenn ich also während des Lifecycles der DIIOP Session an bereits geladenen Dokumenten Änderungen vornehme (z.B. vom Notes Client aus), enthält das Dokument j2ee-seitig auch nach erneutem Laden noch die alten Werte.
Momentan schließe ich also immer wenn ich möglichst verlässlich aktuelle Daten brauche die Session, rufe session.recycle() auf und baue eine komplett neue Verbindung auf.
Das funktioniert, stellt mich aber nicht wirklich zufrieden, weil dieser Reconnect an einigen Stellen über 50% der Gesamtzeit der gewünschten Operation einnimmt.
Deshalb die Frage:
Ich vermute, daß bereits geladene Dokumente im Rahmen der Session gecached werden, ist das Richtig?
Wenn dem so ist, gibt es eine Möglichkeit, diesen Cache zu umgehen und das Dokument tatsächlich frisch aus der Datenbank zu holen?
Bin für jeden Tip dankbar.
Gruß
Kolja