1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 package org.waarp.vitam.common;
22
23 import org.waarp.common.logging.WaarpLogger;
24 import org.waarp.common.logging.WaarpLoggerFactory;
25 import org.waarp.common.utility.WaarpShutdownHook;
26
27 import java.io.IOException;
28 import java.nio.file.Files;
29
30
31
32
33 public class WaarpVitamShutdownHook extends WaarpShutdownHook {
34
35
36
37 private static final WaarpLogger logger =
38 WaarpLoggerFactory.getLogger(WaarpVitamShutdownHook.class);
39
40 public WaarpVitamShutdownHook(final ShutdownConfiguration configuration) {
41 super(configuration);
42 }
43
44 @Override
45 protected void exitService() {
46 try {
47 Files.createFile(
48 ((WaarpVitamShutdownConfiguration) getShutdownConfiguration()).waarpMonitor
49 .getStopFile().toPath());
50 } catch (IOException e) {
51 logger.error(e);
52 }
53 }
54
55
56
57
58 public static class WaarpVitamShutdownConfiguration
59 extends ShutdownConfiguration {
60 private final WaarpMonitor waarpMonitor;
61
62
63
64
65
66
67 public WaarpVitamShutdownConfiguration(final WaarpMonitor waarpMonitor) {
68 this.waarpMonitor = waarpMonitor;
69 }
70 }
71 }