성능상의 이유로 기본적으로 Jetty 캐시는 속성 파일과 같은 정적 리소스로 캐시합니다. 예를 들어,이 같은 일부 코드 : 나는 routes.properties
파일을 삭제 한 후에도 여전히 캐시에서 사용할 수 때문에Jetty에서 서버 캐시를 비활성화하는 방법
public class FrontServlet extends HttpServlet
{
private final Properties routes = new Properties();
@Override
public void init()
throws ServletException
{
try {
this.routes.load(this.getClass().getClassLoader().getResourceAsStream("routes.properties"));
} catch (IOException | NullPointerException e) {
throw new ServletException(e);
}
}
}
오히려 디스크에서보다, 작업을 계속할 것입니다. The Eclipse Jetty plugin documentation도이 점에 대해 언급합니다. "서버 캐시 사용 안 함"을 찾습니다.
이제 개발 환경에서 위양성을 방지하기 위해이 기능을 비활성화하고 싶습니다. The Jetty documentation에는 0
으로 설정된 경우 캐시를 비활성화하는 maxCacheSize
이라는 초기화 매개 변수가 있습니다.
<context-param>
<param-name>org.eclipse.jetty.servlet.maxCacheSize</param-name>
<param-value>0</param-value>
</context-param>
와 서블릿 초기화 매개 변수로 : 그러나, 나는 컨텍스트 매개 변수로 모두를 시도
<servlet>
...
<init-param>
<param-name>org.eclipse.jetty.servlet.maxCacheSize</param-name>
<param-value>0</param-value>
</init-param>
</servlet>
아무 소용.
누구든지이 작업을 수행하는 방법을 알고 있습니까?
편집 :
routes.properties
파일이 아직도 내가 웹 서버를 다시 시작 후에도 발견하고 방랑 가상 머신이 실행중인 것. 또한 나는 Maven Jetty plugin을 사용하고 있다고 말하면서 mvn jetty:run
으로 서버를 시작했습니다.
나는 웹 서버 및 심지어 전체 가상 컴퓨터를 다시 시작했지만 실제로 속성 파일이 발견되었다는 사실을 잊어 버렸다. – swahnee