AtNotes Übersicht Willkommen Gast. Bitte einloggen oder registrieren.
07.04.20 - 01:59:35
Übersicht Hilfe Regeln Glossar Suche Einloggen Registrieren
News:
Schnellsuche:
+  Das Notes Forum
|-+  Lotus Notes / Domino Sonstiges
| |-+  Java und .NET mit Notes/Domino (Moderatoren: Axel, m3)
| | |-+  Java: in DocumentCollection wird immer nur das erste Dokument gespeichert
« vorheriges nächstes »
Seiten: [1] Nach unten Drucken
Autor Thema: Java: in DocumentCollection wird immer nur das erste Dokument gespeichert  (Gelesen 3177 mal)
Birgit R.
Frischling
*
Offline Offline

Geschlecht: Weiblich
Beiträge: 18



« am: 07.09.12 - 16:33:38 »

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;
}
Gespeichert
flaite
Gold Platin u.s.w. member:)
*****
Offline Offline

Beiträge: 2966


WWW
« Antworten #1 am: 08.09.12 - 19:16:35 »

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?
Gespeichert

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
Birgit R.
Frischling
*
Offline Offline

Geschlecht: Weiblich
Beiträge: 18



« Antworten #2 am: 10.09.12 - 08:34:58 »

Hallo

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

Dankeschön
Gespeichert
Ralf_M_Petter
Gold Platin u.s.w. member:)
*****
Offline Offline

Geschlecht: Männlich
Beiträge: 1879


Jeder ist seines eigenen Glückes Schmied


WWW
« Antworten #3 am: 10.09.12 - 08:46:54 »

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
Gespeichert

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.
Birgit R.
Frischling
*
Offline Offline

Geschlecht: Weiblich
Beiträge: 18



« Antworten #4 am: 10.09.12 - 13:41:28 »

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
Gespeichert
Seiten: [1] Nach oben Drucken 
« vorheriges nächstes »
Gehe zu:  


Einloggen mit Benutzername, Passwort und Sitzungslänge

Powered by MySQL Powered by PHP Powered by SMF 1.1.21 | SMF © 2006, Simple Machines Prüfe XHTML 1.0 Prüfe CSS
Impressum Atnotes.de - Powered by Syslords Solutions - Datenschutz | Partner: