1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package org.apache.logging.log4j.spring.cloud.config.client;
18
19 import java.util.UUID;
20 import java.util.concurrent.ConcurrentHashMap;
21 import java.util.concurrent.ConcurrentMap;
22
23 import org.apache.logging.log4j.core.util.WatchEventService;
24 import org.apache.logging.log4j.core.util.WatchManager;
25
26
27
28
29 public class WatchEventManager implements WatchEventService {
30 private static final ConcurrentMap<UUID, WatchManager> watchManagers = new ConcurrentHashMap<>();
31
32 public static void publishEvent() {
33 for (WatchManager manager : watchManagers.values()) {
34 manager.checkFiles();
35 }
36 }
37
38 @Override
39 public void subscribe(WatchManager manager) {
40 watchManagers.put(manager.getId(), manager);
41
42 }
43
44 @Override
45 public void unsubscribe(WatchManager manager) {
46 watchManagers.remove(manager.getId());
47 }
48 }