2014-11-11 8 views
7

Un piccolo background sull'applicazione in cui lavoro: Spring MVC, applicazione Web Java EE, Maven.Meccanismo di busting della cache per il progetto Java/SpringMVC/Maven

Fondamentalmente, quello che sto cercando è un meccanismo per aggiornare tutti i file JS e CSS su ogni distribuzione della nostra applicazione. Allo stato attuale, l'applicazione fa riferimento a file statici (ad esempio "js/app.js"). Ogni volta che c'è una modifica a questo file, dopo aver ridistribuito localmente, si ottiene un 304 quando il browser va a scaricarlo (il file non è stato modificato). Le mie domande sono:

1) Sarebbe meglio servire nuovamente questi file durante la ridistribuzione dell'applicazione e utilizzare forse la versione dell'applicazione come meccanismo di busting della cache (ad esempio "js/v1.0.0/app.js"). Questo può forse essere fatto tramite un filtro servlet.

2) Poiché il progetto è un progetto web dinamico e dinamico, esiste una sorta di plug-in che fa questo genere di cose. Stavo guardando wro4j per vedere se è in grado di farlo, ma dal poco che ho letto su di esso, è principalmente usato per gestire la minificazione di questi JS e CSS, che è anche qualcosa di molto utile.

Qual è l'approccio giusto? Grazie in anticipo

+1

Potrebbe utilizzare una stringa di query come nella pratica comune per CMS' come Drupal? URL di esempio: percorso/to/file.js? 123456 URL di esempio dopo la prossima distribuzione: percorso/to/file.js? 123456? [UNIX TIMESTAMP/RANDOM STRING/ALCUNE VAR] – jonathanbell

+0

Hanno lo stesso requisito al momento. Cosa hai fatto alla fine @Kruiz – Neoryder

+0

Sto usando uno stack Microsoft da molto tempo. Sono interessato a scoprire le best practice per il raggruppamento, la minimizzazione e il busting della cache ora che sto lavorando con uno stack Java, Spring e Tomcat. Capisco che questo è un vecchio post, ma puoi condividere i risultati? Grazie! -V –

risposta

-1

si dovrebbe aggiungere le versioni per le risorse statiche o la memorizzazione nella cache del browser disabilitare in

+0

La disattivazione della cache non è molto semplice. –

0

Non so circa l'approccio "giusto", ma la soluzione più comune è quello di utilizzare il controllo delle versioni dei file statici possibilità pe app js diventerà app-14gd54646rfw3.js il numero è di solito un MD5 del contenuto in tal modo cambierà solo quando il file cambia

con molla a raggiungere dal meccanismo incorporato come descritto al seguente link http://www.baeldung.com/cachable-static-assets-with-spring-mvc

se si desidera utilizzare Maven plugin con concatenando e minifying abilità è possibile utilizzare un sorso o compiti grugnito come strumenti di compilazione

è possibile trovare maggiori informazioni qui https://css-tricks.com/strategies-for-cache-busting-css/

Problemi correlati