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 org.apache.logging.log4j.LogManager;
20 import org.apache.logging.log4j.Logger;
21 import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
22
23 import org.springframework.cloud.bus.ConditionalOnBusEnabled;
24 import org.springframework.cloud.bus.SpringCloudBusClient;
25 import org.springframework.cloud.bus.event.RemoteApplicationEvent;
26 import org.springframework.cloud.stream.annotation.EnableBinding;
27 import org.springframework.cloud.stream.annotation.StreamListener;
28 import org.springframework.context.event.EventListener;
29 import org.springframework.stereotype.Component;
30
31 @Component
32 @ConditionalOnBusEnabled
33 @EnableBinding(SpringCloudBusClient.class)
34 @ConditionalOnProperty(value = "spring.cloud.config.watch.enabled")
35 public class Log4j2EventListener {
36 private static Logger LOGGER = LogManager.getLogger(Log4j2EventListener.class);
37
38 @EventListener(classes = RemoteApplicationEvent.class)
39 public void acceptLocal(RemoteApplicationEvent event) {
40 LOGGER.debug("Refresh application event triggered");
41 WatchEventManager.publishEvent();
42 }
43
44 @StreamListener(SpringCloudBusClient.INPUT)
45 public void acceptRemote(RemoteApplicationEvent event) {
46 LOGGER.debug("Refresh application event triggered");
47 WatchEventManager.publishEvent();
48 }
49 }