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
29
30 public class FessCurtainFinallyHook implements CurtainFinallyHook {
31
32 private static final Logger logger = LogManager.getLogger(FessCurtainFinallyHook.class);
33
34 @Override
35 public void hook(final FwAssistantDirector assistantDirector) {
36 shutdownCommonsHttpClient();
37 }
38
39 private void shutdownCommonsHttpClient() {
40 try {
41 final Class<?> clazz = Class.forName("org.apache.commons.httpclient.MultiThreadedHttpConnectionManager");
42 final Method method = clazz.getMethod("shutdownAll", (Class<?>[]) null);
43 method.invoke(null, (Object[]) null);
44 } catch (final ClassNotFoundException e) {
45
46 } catch (final Exception e) {
47 logger.warn("Could not shutdown Commons HttpClient.", e);
48 }
49 }
50 }