nick
I'm new here

Preview - Caching bei JSP-Includes

Hallo,

in unserem Projekt werden einige Bestandteile von Seiten per jsp:include-Anweisung inkludiert. Es geht hierbei um Bestandteile wie Header- und Footerbereich, Navigation usw. Bei den inkludierten Bestandteilen handelt es sich ebenfalls um Seiten aus der Strukturverwaltung.

Wir haben nun in der Preview das Problem, dass diese inkludierten Bestandteile nicht immer gecached werden, zu erkennen an den Log-Ausgaben der Preview-Applikation:

INFO  - generating 'homepage' ...

INFO  - generating page reference 'homepage' ...

INFO  - generating 'html_head' ...

INFO  - generating 'login_form' ...

INFO  - generating 'navigation' ...

INFO  - generating 'footer' ...

...

Das Problem ist, dass sich durch Neu-Generierung der inkludierten Seiten die Ladezeit der eigentlichen Seite in der Preview um ein Vielfaches erhöht.

Die Frage ist, warum die inkludierten Seiten immer wieder neu gerendert werden, obwohl sich nichts daran geändert hat, und warum sie nicht aus dem Cache kommen? Wie kann man das Problem umgehen?

Ich habe festgestellt, dass die inkludierten Seiten gecached werden, wenn sie vorher einmal in der Preview geöffnet wurden. Irgendwann fliegen diese Seiten aber wieder aus dem Preview-Cache und das Problem ist wieder da.

Hat jemand eine Idee?

Viele Grüße

Nick

0 Kudos
13 Replies

Ok. Also die URL der gepreviewten Seite lautet:

/fs5preview/preview/133944/page/DE/current/133952/134508/forceRefresh=1/sid=4034469547063309624/login.ticket=16wp

Darin wird ein Footer inkludiert:

/fs5preview/preview/133944/site/DE/current/133952/233456


Wenn ich mir den request-Parameter "refresh" ausgeben lasse, bekomme ich immer false, sowohl vor dem include als auch in der inkludierten Seite als auch nach dem Include.

Übrigens werden alle inkludierten Seiten auch dann neu generiert, wenn ich die Preview nicht mit forceRefresh aufrufe. Deswegen vermute ich, dass die Neugenerierung der inkludierten Seiten nicht durch ein forceRefresh verursacht wird. Ich habe vielmehr das Gefühl, dass die inkludierten Seiten nur dann aus dem Cache geholt werden, wenn Sie vorher per forceRefresh=1 generiert wurden oder wenn z.B. das Template geändert wurde. Wenn die Seiten durch einen Include generiert werden landen Sie zwar im preview_cache-Verzeichnis, beim nächsten Zugriff werden Sie aber nicht wieder aus dem Cache geladen. Vielleicht werden die Seiten nicht im Cache vermerkt, wenn Sie per Include (ohne forceRefresh) generiert werden.

0 Kudos

Ich denke, das beste wird sein, du wendest dich damit an den Helpdesk. So wie beschrieben hört sich das nach einem Bug an.

Peter
0 Kudos

Ok. Liegt beim Helpdesk.

0 Kudos

Gibt es zu diesem Thema denn zwischenzeitlich was neues oder gab es eine Erklärung seitens Helpdesk? Wir haben derzeit eine sehr ähnliche Anforderung.

0 Kudos