Caching mit Play Framework und Java

8

Ich führe eine Anwendung mit Play und Java aus, und ich muss das Ablaufdatum für verschiedene Arten von Assets festlegen: Bilder, CSS, Javascript etc.

Ich habe folgendes in der Datei conf / routes:

%Vor%

Ich konnte das Ablaufdatum für eine einzelne Datei in application.conf :

festlegen %Vor%

Aber ich kann es nicht für einen ganzen Ordner einstellen. Ich habe es versucht

%Vor%

aber nichts passiert. Ich hatte gehofft, das Ablaufdatum für alles im Ordner / js / pages festzulegen.

Ich habe es auch versucht

%Vor%

nach Anweisungen bei Ссылка

sowie

%Vor%

pro Dokumentation Ссылка

und keiner von diesen funktioniert. Die obigen Änderungen wurden in der application.conf vorgenommen.

Ich weiß, dass es eine Möglichkeit gibt, dasselbe zu tun, indem ich Controller definiere, die die Antwort () für die Routen ändern, für die ich das Ablaufdatum festlegen möchte: far future Verfällt die Kopfzeile für statische Inhalte

Aber ich würde gerne wissen, wie man das Ablaufdatum für Assets aus der Datei application.conf konfiguriert.

Unsere Anwendung läuft auf S3 Linux-Instanzen , daher ist die Konfiguration des Ablaufdatums auf dem Server keine Option.

Danke!

    
sempervirescent 03.06.2014, 16:57
quelle

1 Antwort

4

Play Framework unterstützt nicht "assets.cache./public/js/pages/*.js"="max-age=7200" aber assets.defaultCache="max-age=7200" sollte funktionieren.

Im Debug / dev-Modus (Starten der App mit Play Run) assets.defaultCache wird ignoriert, daher ist es immer 'no-cache'. Stellen Sie sicher, dass Sie es im Prod-Modus (mit Play Start) ausführen.

Ich kann keine Referenz in Dokumenten finden, aber das kann in https://github.com/playframework/playframework/blob/master/framework/src/play/src/main/scala/play/api/controllers/Assets.scala AssetInfo::cacheControl function

überprüft werden     
Ankit Gupta 19.12.2014 08:36
quelle