AtNotes Übersicht Willkommen Gast. Bitte einloggen oder registrieren.
18.06.13 - 22:48:41
Ü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 536 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
Pitiyankee
Gold Platin u.s.w. member:)
*****
Offline Offline

Beiträge: 2928


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

As far as Connections goes, I consider it as a much more "classic" IBM software. Much like Websphere Portal when portals were the hype. Very powerfull but very complex, very demanding on infrastructure to set up and often sold for the wrong reasons and then a strong deception for customers.

Michael Bourak
---

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: 1597


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

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.18 | SMF © 2006, Simple Machines Prüfe XHTML 1.0 Prüfe CSS
Impressum Atnotes.de - Powered by Syslords Solutions - Datenschutz | Partner: Tinte / Toner günstig  | handys