2017-06-20 4 views
1

Ich habe ein paar Probleme, die Funktionalität von RSS in meiner speziellen Situation zu verstehen.
Ich habe einen REST-Service (in Java mit Spring geschrieben) der einige Informationen aus einer Datenbank liest und dynamisch die RSS-Seite generiert. Das pubdate-Element jedes Elements wird mit dem aktuellen Datum gefüllt. Der Dienst ist unter einer URL wie "http://intern.system.com/rest/api/rss" erreichbar.
Ich habe diese URL genommen und sie in eine Wiki-Seite eingefügt (das Wiki ist in diesem Szenario der RSS-Reader).Inklusive REST-generierten RSS-Feed

Der Hintergrund dieses Arbeitsablaufs ist der folgende: Die Datenbank wird für die nächsten paar Tage mit Ereignissen oder Todo gefüllt. Jedes Ereignis hat einen Titel, eine Beschreibung und ein Datum. Bis jetzt werden diese Informationen von Hand aufgenommen und auf eine Wiki-Seite übertragen.
Mein Ziel ist es, diesen Prozess zu automatisieren. Ich möchte einen RSS-Feed der Ereignisse oder Aufgaben für den aktuellen Tag (der meinen REST-Dienst erstellt) generieren und automatisch auf einer Wiki-Seite anzeigen.

Ist das ein guter Weg? Wird der RSS den ganzen Tag (oder nur beim ersten Anruf) und für alle Besucher angezeigt? F. e. eine Person betritt die Seite um 8 Uhr, eine andere um 9 Uhr. Beide sollten die gleichen Informationen für den Tag sehen. Ich denke, der REST-Service wird in diesem Fall zweimal aufgerufen. Ist das ein Problem?

Antwort

0

Das ist kein Problem, aber da wir Entwickler sind, sollten wir Best Practices verfolgen, was wir bauen. Dein Fall erinnert mich also daran, dass ich deinen Rastservice zwischenspeichere. Wenn Ihre Daten täglich aktualisiert werden, können Sie die Caching-Eigenschaft verwenden, die für statische Ressourcen am meisten bevorzugt wird. Sie können @Cacheable("rssCache") Annotation Ihrer Komponente Methoden hinzufügen, nach dem ersten Aufruf wird das Ergebnis zwischengespeichert.

+0

Danke für die gute Idee. Der Workflow ist soweit in Ordnung: Die Methode erstellt den Feed und ich habe nur die @cachable Annotation hinzugefügt? – altralaser

+0

Es gibt eine gute Dokumentation hier, Sie können es überprüfen: [Feder-Cache] (http://www.baeldung.com/spring-cache-tutorial) – fiskra

+0

Ich habe noch eine Frage: Wie ich verstehe, die Methode wird einmal aufgerufen und das Ergebnis wird im Cache gespeichert. Beim nächsten Mal wird die Information aus dem Cache geladen und die Methode wird übersprungen. Aber wie kann ich erkennen, dass das Futter jeden Morgen mit den Ereignissen des aktuellen Tages gebaut wird? – altralaser