2016-09-20 2 views
1

У меня уже включен gzip для весеннего загрузочного встраиваемого сервера. Моя забота заключается в том, как весенняя загрузка обрабатывает gzip статических ресурсов. Так как они не меняются, загружает ли весна (или встроенный сервер) запуск алгоритма gzip, а затем кэширует результат? Кажется, что это просто трата вычислительной мощности для запуска gzip algo при каждом запросе на статический ресурс.Весна загружает статические ресурсы GZIP только один раз?

ответ

0

Вам нужно будет использовать пружину ResourceResolver, особенно вокруг кеширования, CachingResourceResolver. Ваша конфигурация должна быть что-то вдоль линий этого:

@Configuration 
@EnableWebMvc 
@EnableCaching 
public class MvcConfig extends WebMvcConfigurerAdapter { 
    @Autowired 
    private CacheManager cacheManager; 


    @Override 
    public void addResourceHandlers(ResourceHandlerRegistry registry) { 
     registry 
      .addResourceHandler("/resources/**") 
      .addResourceLocations("/resources/") 
      .setCachePeriod(3600) // Browser cache 
      .resourceChain(true) 
      .addResolver(new CachingResourceResolver(cacheManager, "resourceCache")) 
      .addResolver(new GzipResourceResolver()) 
      .addResolver(new PathResourceResolver()); 
    } 
} 

Важно то, что CacheManager должен быть настроен на применение так проверить Spring Boot Caching docs для получения дополнительной информации (вероятно, лучше всего подходит для локального кэша с помощью Caffeine) ,

Смежные вопросы