jlindenberg
I'm new here

programmatisch Aktualizierung für content2 bei einem parallele Einfügen

Hallo Community,    

ich lese den Inhalt einer Tabelle durch eine Script, wenn andere Benutzer in andere Sitzung eine neue Datensatz anlegt, merkt das Script es nicht. Wenn ich zu der Datenquelle gehe und auf „Aktualizieren“ drucke, das Script bekommt den neuen Datensatz mit. Kann man diese „Aktualizieren“ programmatisch durchführen ?  

Der Script sieht etwa so aus,   


contentStore  = project.getUserService().getStore(Store.Type.CONTENTSTORE,true,false); 
contentStore.refresh();
content2 = contentStore.getContent2ByName("tabelle");
content2.refresh();
content2Data = content2.getData();

for (currentRow : content2Data) {

  }  

(ich habe auch mit ein session.query verscuht, hat es sich aber gleich verhalten.)




Danke im Voraus.

0 Kudos
2 Replies
gockel
Crownpeak employee

// das refresh an dieser Stelle ist imho unnötig, da der entscheidende Punkt ja das nachfolgende Content2 Objekt ist

contentStore  = project.getUserService().getStore(Store.Type.CONTENTSTORE,true,false);

contentStore  = project.getUserService().getStore(Store.Type.CONTENTSTORE,true,false);

// damit ist das dann auch unnötig

contentStore.refresh();

content2 = contentStore.getContent2ByName("tabelle");

content2.refresh();

// was hier fehlt ist ein zurücksetzen des timestamps für die Datenbankabfragen

content2.getSchema().resetReadTimestamp();



0 Kudos

Hallo Herr Gockel,

Danke für Ihre schnelle Antwort,

content2.getSchema().resetReadTimestamp() hat aber nichts geädert Smiley Sad.

was gewirkt hat :smileylaugh:, sind content2.getSession().commit() und content2.getSession().rollback()

will man aber weder commit noch rollback machen um frische Data zu haben :smileycry:.

0 Kudos