1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 package ch.qos.logback.classic.joran;
16
17 import ch.qos.logback.core.spi.ConfigurationEvent;
18 import ch.qos.logback.core.spi.ConfigurationEventListener;
19
20 import java.util.concurrent.CountDownLatch;
21
22 class ChangeDetectedListener implements ConfigurationEventListener {
23
24 CountDownLatch countDownLatch;
25
26 ReconfigureOnChangeTask reconfigureOnChangeTask;
27
28 ChangeDetectedListener(CountDownLatch countDownLatch) {
29 this.countDownLatch = countDownLatch;
30 }
31
32 @Override
33 public void listen(ConfigurationEvent configurationEvent) {
34 switch (configurationEvent.getEventType()) {
35 case CHANGE_DETECTED:
36 System.out.println(this.toString() + "#listen Change detected" + " count="+countDownLatch.getCount());
37
38 countDownLatch.countDown();
39 Object data = configurationEvent.getData();
40 if (data instanceof ReconfigureOnChangeTask) {
41 reconfigureOnChangeTask = (ReconfigureOnChangeTask) data;
42 }
43 break;
44 default:
45 }
46 }
47 }