Autor Thema: Refresh-Frage  (Gelesen 10288 mal)

Offline masseur81

  • Junior Mitglied
  • **
  • Beiträge: 90
Refresh-Frage
« am: 03.08.06 - 15:36:15 »
Hallo,

ich habe eine Notes7-DB als Datenbasis für eine J2EE-Anwendung. Die Session und die Database-Instanz werden innerhalb eines Spring-Frameworks erzeugt. Ich habe festgestellt, dass der Aufruf

Code
document.getItemValueString("...");

Stets dasselbe Ergebnis liefert, auch wenn das Dokument schon lange bearbeitet wurde. Wie kann ich über dem Dokument/der Database/der Session einen Refresh machen? Gibt es ein Auto-Refresh oder sogar einen UpdateListener, sodass die Daten immer auf dem neusten Stand sind? Oder ist es so ugly, dass ist bei jeder Änderung eine neue Session aufmachen muss?

Danke.

Offline Boost

  • Frischling
  • *
  • Beiträge: 13
Re: Refresh-Frage
« Antwort #1 am: 03.08.06 - 17:46:57 »
Wenn die Daten im Document geändert wurden, wird immer document.save() aufgerufen?

Offline masseur81

  • Junior Mitglied
  • **
  • Beiträge: 90
Re: Refresh-Frage
« Antwort #2 am: 03.08.06 - 18:21:08 »
Ich editiere das Dokument direkt im Notes, also per Formular, und speichere es auch ab.

Offline smoki

  • Senior Mitglied
  • ****
  • Beiträge: 325
  • Geschlecht: Männlich
    • Smoki's Lotus Notes
Re: Refresh-Frage
« Antwort #3 am: 03.08.06 - 23:10:00 »
Wenn du das Document Object bereits hast, siehst du nicht sofort, die Feldänderungen. (sonst müsste es ja dauernt seinen Stand vom Server pollen... was für eine Auslastung das wäre...)

Du kannst/mußt das Dokument-Object neu holen von der Datenbank, beispielsweise via Dokumenten-Id.

Gruss
Chris

Offline masseur81

  • Junior Mitglied
  • **
  • Beiträge: 90
Re: Refresh-Frage
« Antwort #4 am: 04.08.06 - 07:13:28 »
Genau dies mache ich ja. Was bleiben soll, sind Session- und Database-Objekt. Das Document hole ich mir per

Code
doc = db.getDocumentByUNID(doc.getUniversalId());

erneut aus der Datenbank, nur bleibt es immer gleich.

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
Re: Refresh-Frage
« Antwort #5 am: 07.08.06 - 14:21:08 »
lokaler Zugriff oder über DIIOP?

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 masseur81

  • Junior Mitglied
  • **
  • Beiträge: 90
Re: Refresh-Frage
« Antwort #6 am: 08.08.06 - 07:42:39 »
Letzteres. Gibts da besondere Dinge zubeachten?

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
Re: Refresh-Frage
« Antwort #7 am: 08.08.06 - 07:48:03 »
Hm eigentlich nicht. Ausser wenn du mit zwischengespeicherten Sessions arbeitest, dass diese irgendwann mal timeouten. Ich würde mal ein kleines Beispiel ohne Spring Framework coden und schauen ob es dann funktioniert. Ich tippe mal eher, dass es nicht an Domino liegt, da ich dass schon ziemlich viel verwendet habe und so ein Problem noch nie gehabt habe. Verwende für den Zugriff aber ganz eigene Routinen.

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 flaite

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.966
    • mein del.icio.us
Re: Refresh-Frage
« Antwort #8 am: 08.08.06 - 08:58:52 »
Das würde mich auch interessieren.
Ich wüsste nicht, was das mit Spring zu tun haben könnte.
Zuerst mal: Was verwendest du für den Notes-Zugriff von Spring. Ich vermute doch nur einfach das IOC-Zeugs, oder?
Spring ist dann nur ein sehr dünner Layer und sollte in diesem Fall einfach nur die Initialisierung der NotesDatabase Instanz ein bischen unterstützen (übrigens erscheint mir das Vorgehen problematisch, oder wie reagierst du auf session Timeouts?).
Spring an sich macht keine extrem verwirrenden Sachen.
Poste mal deinen Code im Springframework. Da sollte die Erklärung zu finden sein.

Gruß Axel
 

« Letzte Änderung: 08.08.06 - 09:01:28 von Axel Janssen »
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 masseur81

  • Junior Mitglied
  • **
  • Beiträge: 90
Re: Refresh-Frage
« Antwort #9 am: 09.08.06 - 12:17:24 »
Okay, für das Handling der Session z.B. bei Timeouts werd ich noch eine Klasse schreiben. Das Refreshen der Daten erfolgt bei den Notes-Klassen nicht live, sondern in einem gewissen Zeitintervall. Ich habe die Erscheinung, dass es mal geht, und mal nicht.

Eine Art Listener für Dokumentenänderungen gibt es sicher nicht was?

Offline flaite

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.966
    • mein del.icio.us
Re: Refresh-Frage
« Antwort #10 am: 09.08.06 - 17:11:40 »
Eine Art Listener für Dokumentenänderungen gibt es sicher nicht was?
Kann man sicher irgendwie programmieren, halte ich aber nicht für sinnvoll.
Kann ich nicht ganz nachvollziehen. Die Datenbank soll die Anwendung über Änderungen in den Daten informieren.
Besser die Anwendung pullt die Daten aus der Datenbank.

Eigene Klasse für Timeouts?
Ich nimm immer für jeden Request eine neue Session. Das hat bisher immer Performance-mässig gereicht. Wenn du das mit Spring machen willst, kannst du ja eine Session-Factory als Singleton realisieren. Die liefert dann keine Singleton-Session zurück.

D.h. es gibt kommerzielle Domino SessionPools. Z.B. von Looseleaf. 
Ich würd sowas nicht selbst programmieren.

Gruß Axel
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 smoki

  • Senior Mitglied
  • ****
  • Beiträge: 325
  • Geschlecht: Männlich
    • Smoki's Lotus Notes
Re: Refresh-Frage
« Antwort #11 am: 10.08.06 - 08:47:37 »
Hallo!

Vielleicht kannst du dir damit behelfen:

Du kannst dir vielleicht damit behelfen, dass du über einen View ermitteln kannst, ob sich in diesem Dokumente geändert haben. Und in diesem Fall das Dokument erneut holen.

Diese Lösung ist sicherlich nicht elegant und nicht im verwendbar.

Falls der Weg eine Lösung für dich darstellt:

Es gibt in der Class "View" eine Methode "IsModified", die einem mitteilt, ob die View im Speicher mit der auf dem Server übereinstimmt.

Ggf. kannst du dir die Informationen auch dann gleich aus der Ansicht holen?

Ich hoffe ich konnte dir helfen?!

Gruss
Chris

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
Re: Refresh-Frage
« Antwort #12 am: 10.08.06 - 08:56:11 »
Aber warum so kompliziert, in Domino gibt es ja Agents die bei Dokumentaktualisierung aufgerufen werden. So ein kleiner Agent, wäre doch ideal und der könnte ja dann deinen Java Code über einen Webservice oder was auch immer aufrufen.

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 smoki

  • Senior Mitglied
  • ****
  • Beiträge: 325
  • Geschlecht: Männlich
    • Smoki's Lotus Notes
Re: Refresh-Frage
« Antwort #13 am: 10.08.06 - 09:18:31 »
Wow!

Das nenne ich mal einen interessanten Lösungsansatz!

Find ich super!!

Gruss
Chris

Offline masseur81

  • Junior Mitglied
  • **
  • Beiträge: 90
Re: Refresh-Frage
« Antwort #14 am: 10.08.06 - 16:00:39 »
Da habt ihr aber mein Problem nicht richtig verstanden. Ich möchte bereits über den Aufruf einer URL ein bestimmtes Dokument im Speicher neu laden. Aber das Neuladen per database.getDocumentByUNID() liefert mir kein aktuelles Dokument. Da nützt mir auch kein Webservice etwas.

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
Re: Refresh-Frage
« Antwort #15 am: 10.08.06 - 16:04:37 »
Sorry Masseur aber kannst du mir erklären, was dein Zitat bedeutet:

Zitat
Eine Art Listener für Dokumentenänderungen gibt es sicher nicht was?

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 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
Re: Refresh-Frage
« Antwort #16 am: 10.08.06 - 16:11:43 »
Ok masseur ich glaube ich habe das Problem in meiner Kristallkugel lokalisiert.

Meine Vermutung du verwendest kein Recycle des Dokuments oder?

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 masseur81

  • Junior Mitglied
  • **
  • Beiträge: 90
Re: Refresh-Frage
« Antwort #17 am: 10.08.06 - 17:16:50 »
JAA!! Die recycle()-Methode hat geholfen. Ich habe erst vermutet, recycle verschiebt ein Dokument in irgendeinen Notes-Papierkorb, naja, Windows-geschädigt eben.

Also wieder ein Notes-Missverständnis aufgeklärt.  :D

Danke!

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
Re: Refresh-Frage
« Antwort #18 am: 10.08.06 - 17:20:22 »
Bitte Suche mal im Forum nach recycle. Diese Recycle Thematik ist sehr wichtig und man muß sie wirklich verstanden haben um Java Programme im Zusammenspiel mit Notes richtig zu verwenden. Fehlerhafte Verwendung kann schwer zu findende Fehler verursachen.

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 masseur81

  • Junior Mitglied
  • **
  • Beiträge: 90
Re: Refresh-Frage
« Antwort #19 am: 11.08.06 - 06:51:13 »
Das werd ich tun. Versprochen.

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz