Autor Thema: Java: in DocumentCollection wird immer nur das erste Dokument gespeichert  (Gelesen 5444 mal)

Offline Birgit R.

  • Frischling
  • *
  • Beiträge: 18
  • Geschlecht: Weiblich
Hallo

ich habe in einem Java-Agenten eine DocumentCollection, in der ich alle Dokumente vor der eigentlichen Verarbeitung nochmalig mit "ComputewithForm" neu berechne und anschließend speichere.
Allerdings wird immer nur beim ersten Dokument in der Collection das Speichern wirklich durchgeführt.
Wenn ich das erste Dokument aus der Datenbank lösche und das zweite zum ersten Dokument wird in der Collection wird, dann wird dieses gespeichert.
Im Protokoll ist anhand der URL zu erkennen, dass er bei jedem Durchlauf durch die Schleife ein neues Dokument im Zugriff hat.
Replizierkonflikte werden nicht erzeugt und die Rechte auf die Dokumente sind alles die gleichen. Eine Notes-Exception gibt es nicht.

Hat irgendjemand noch eine Idee, woran das Verhalten liegen kann oder wie ich ein Speichern nach dem Compute erzwingen kann?

Vielen Dank
Birgit Rink

while (docKond != null)
{
    // Dokument neu berechnen
    blCompute = docKond.computeWithForm(false, false);
    if (blCompute == true )
    {
     System.out.println("Compute erfolgreich: " + docKond.getNotesURL());
     blSave = docKond.save(true);
     if (blSave == true )
     {
                System.out.println("Dokument gespeichert: " + docKond.getNotesURL());
      }
     else
     {
                System.out.println("nicht gespeichert Dokument : " + docKond.getNotesURL());
           }
   }
   else
   {
      System.out.println("Compute ging daneben : " + docKond.getNotesURL());
    }
                  
   docTemp = colExport.getNextDocument();
   docKond.recycle();
   docKond = docTemp;
}

Offline flaite

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.966
    • mein del.icio.us
Seltsam. Kann aus meiner Sicht nur was in den Dokumenten sein. Vielleicht, dass durch das Speichern des ersten Dokuments irgendwas im nächsten Dokument geändert wird?
Was gibt false? Das computeWithForm oder das save?
Ich stimm nicht mit allen überein, aber mit vielen und sowieso unterhaltsam -> https://www.youtube.com/channel/UCr9qCdqXLm2SU0BIs6d_68Q

---

Aquí no se respeta ni la ley de la selva.
(Hier respektiert man nicht einmal das Gesetz des Dschungels)

Nicanor Parra, San Fabian, Región del Bio Bio, República de Chile

Offline Birgit R.

  • Frischling
  • *
  • Beiträge: 18
  • Geschlecht: Weiblich
Hallo

das ComputewithForm gibt immer "true" zurück, bei allen Dokumenten. Die Dokumente haben keinerlei Verbindungen zueinander.

Dankeschön

Offline Ralf_M_Petter

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.879
  • Geschlecht: Männlich
  • Jeder ist seines eigenen Glückes Schmied
    • Ralf's Blog
Hallo Birgit!

Dein Code kann gar nicht funktionieren, da du die boolean Variablen nicht deklariert hast. Stell doch mal den Code ein, wie du ihn wirklich laufen lässt. Wahrscheinlich ist da ein blöder Fehler drinnen, den du beim abspecken irrtümlich verschleiert hast. sonst kannst du ihn mir auch gerne als PN schicken.

Grüße

Ralf
Jede Menge Tipps und Tricks zu IT Themen findet Ihr auf meinem Blog  Everything about IT  Eine wahre Schatzkiste sind aber sicher die Beiträge zu meinem Lieblingsthema Tipps und Tricks zu IBM Notes/Domino Schaut doch einfach mal rein.

Offline Birgit R.

  • Frischling
  • *
  • Beiträge: 18
  • Geschlecht: Weiblich
Hallo

Ich hab das Problem jetzt gefunden, nachdem ich den Source-Code nochmalig extrahiert und eine Version erstellt habe, die nur den "computewithForm" ausführt und speichert.

Das Problem lag am ComputewithForm. Das wurde zwar ausgeführt, da es aber keine Änderung am Dokument bewirkte, hat der Agent das Dokument auch nicht gespeichert.

Wir haben auf dem Server 8.5.2 und es gibt wohl in dieser Version ein Bug mit der Funktion "computewithForm". Nachdem ich ein "System.out.println(docKond.getUniversalID());" vor dem Compute eingefügt habe, läuft die Verarbeitung jetzt wie gewünscht.

Vielen Herzlichen Dank fürs Mitdenken
Birgit

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz