밸브를 만들면 Tomcat에서 쉽게 실현할 수 있습니다.
Tomcat에서 ValveBase 클래스를 확장하는 클래스를 만듭니다.
/**
* {@inheritDoc}
*/
@Override
public void invoke(final Request request, final Response response)
throws IOException, ServletException {
if (randomDelay != 0) {
long delay = minDelay + randomizer.nextInt(randomDelay);
try {
if (LOGGER.isDebugEnabled()) {
LOGGER.debug("sleeping for " + delay + " ms");
}
Thread.sleep(delay);
} catch (InterruptedException e) {
if (LOGGER.isDebugEnabled()) {
LOGGER.debug("someone wake me up : " + e.getMessage());
}
}
}
// let's continue !
getNext().invoke(request, response);
}
이 항아리를 컴파일 당신은 바람둥이 lib 디렉토리 (보통 {가리키는 catalina.home}/lib 디렉토리)에 내려 줄게 : 내부
코드는 그런 일해야한다. 이 비록 톰캣 정말 구성 할 수 없습니다
<Server ...>
<Service name="Catalina">
<Engine name="Catalina" defaultHost="localhost">
(...)
<Host name="localhost" ...>
<Valve className="tools.tomcat.RandomDelayValve" />
HIH
:
마지막으로 당신이 server.xml의 밸브 선언을 추가합니다. 또는 나는 무엇인가 놓치고 있냐? 테스트 응용 프로그램과 배포 된 응용 프로그램은 서로 다른 web.xml 파일을 갖습니다. 그렇지 않습니까? – Ivan