1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 package org.codelibs.fess.mylasta.direction.sponsor;
17
18 import java.lang.reflect.Method;
19
20 import org.apache.logging.log4j.LogManager;
21 import org.apache.logging.log4j.Logger;
22 import org.lastaflute.core.direction.CurtainFinallyHook;
23 import org.lastaflute.core.direction.FwAssistantDirector;
24
25
26
27
28 public class FessCurtainFinallyHook implements CurtainFinallyHook {
29
30 private static final Logger logger = LogManager.getLogger(FessCurtainFinallyHook.class);
31
32 @Override
33 public void hook(final FwAssistantDirector assistantDirector) {
34 shutdownCommonsHttpClient();
35 }
36
37 private void shutdownCommonsHttpClient() {
38 try {
39 final Class<?> clazz = Class.forName("org.apache.commons.httpclient.MultiThreadedHttpConnectionManager");
40 final Method method = clazz.getMethod("shutdownAll", (Class<?>[]) null);
41 method.invoke(null, (Object[]) null);
42 } catch (final ClassNotFoundException e) {
43
44 } catch (final Exception e) {
45 logger.warn("Could not shutdown Commons HttpClient.", e);
46 }
47 }
48 }