Tôi muốn hết hạn tất cả các phiên của mình trong Tomcat. Chúng tôi kiểm tra sản phẩm của chúng tôi dưới Fitnesse và một số phiên còn lại và kết thúc phiên gây ra sự phụ thuộc giữa các thử nghiệm. Tôi làm điều đó bằng tay với đoạn mã sau, nhưng một số phiên vẫn còn (tôi có thể kiểm tra xem nó với url http://localhost:8080/manager/html/list)Tôi làm cách nào để hết hạn các phiên của mình trong Tomcat?
public static void expireAllSessions() {
String[] applications = { "a", "b", "c", "d", "e" };
for (String application : applications) {
try {
expireAllSessions(application);
} catch (Exception e) {
logger.error(e);
}
}
}
private static void expireAllSessions(final String application) throws Exception {
// cf doc http://hc.apache.org/httpclient-3.x/authentication.html
HttpClient client = new HttpClient();
client.getParams().setAuthenticationPreemptive(true);
Credentials userPassword = new UsernamePasswordCredentials("tomcat", "tomcat");
client.getState().setCredentials(AuthScope.ANY, userPassword);
String url = "http://localhost:8080/manager/html/expire";
NameValuePair[] parametres = new NameValuePair[] {
new NameValuePair("path", "/" + application),
new NameValuePair("idle", "0")
};
HttpMethod method = new GetMethod(url);
method.setQueryString(parametres);
client.executeMethod(method);
}
Có cách nào để làm điều đó một cách hiệu quả hơn và ngay lập tức không có phiên nào còn lại?
Lớp phiên bản không phải là chủ đề an toàn –