From 321d7b0b061b552aa10e7af099d0610663fab1ef Mon Sep 17 00:00:00 2001 From: nkjackzhang Date: Fri, 20 Apr 2018 18:18:18 +0800 Subject: [PATCH] Put CacheControl.empty() in else part. Make sure the constructor of `CacheControl` being invoked only once. --- .../web/servlet/config/ResourcesBeanDefinitionParser.java | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/spring-webmvc/src/main/java/org/springframework/web/servlet/config/ResourcesBeanDefinitionParser.java b/spring-webmvc/src/main/java/org/springframework/web/servlet/config/ResourcesBeanDefinitionParser.java index 2683ba9d39a..98e0cda7919 100644 --- a/spring-webmvc/src/main/java/org/springframework/web/servlet/config/ResourcesBeanDefinitionParser.java +++ b/spring-webmvc/src/main/java/org/springframework/web/servlet/config/ResourcesBeanDefinitionParser.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2017 the original author or authors. + * Copyright 2002-2018 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -201,7 +201,7 @@ class ResourcesBeanDefinitionParser implements BeanDefinitionParser { private CacheControl parseCacheControl(Element element) { - CacheControl cacheControl = CacheControl.empty(); + CacheControl cacheControl; if ("true".equals(element.getAttribute("no-cache"))) { cacheControl = CacheControl.noCache(); } @@ -211,6 +211,10 @@ class ResourcesBeanDefinitionParser implements BeanDefinitionParser { else if (element.hasAttribute("max-age")) { cacheControl = CacheControl.maxAge(Long.parseLong(element.getAttribute("max-age")), TimeUnit.SECONDS); } + else { + cacheControl = CacheControl.empty(); + } + if ("true".equals(element.getAttribute("must-revalidate"))) { cacheControl = cacheControl.mustRevalidate(); }