Skip to content

Commit 71dbe70

Browse files
authored
fix(alarm): Listener may not load
* fix * add log
1 parent d54f009 commit 71dbe70

3 files changed

Lines changed: 11 additions & 13 deletions

File tree

server/odc-core/src/main/java/com/oceanbase/odc/core/alarm/AlarmService.java

Lines changed: 7 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -18,11 +18,9 @@
1818

1919
import java.io.PrintWriter;
2020
import java.io.StringWriter;
21-
import java.util.ArrayList;
22-
import java.util.Iterator;
2321
import java.util.List;
2422
import java.util.Map;
25-
import java.util.ServiceLoader;
23+
import java.util.concurrent.CopyOnWriteArrayList;
2624

2725
import javax.annotation.Nullable;
2826

@@ -33,16 +31,13 @@
3331
@Slf4j
3432
class AlarmService {
3533

36-
private final List<AlarmEventListener> listeners = new ArrayList<>();
34+
private final List<AlarmEventListener> listeners = new CopyOnWriteArrayList<>();
3735

38-
public AlarmService() {
39-
ServiceLoader<AlarmEventListener> load = ServiceLoader.load(AlarmEventListener.class);
40-
Iterator<AlarmEventListener> iterator = load.iterator();
41-
while (iterator.hasNext()) {
42-
AlarmEventListener next = iterator.next();
43-
log.debug("AlarmEventListener:" + next.getClass().getName() + "have been loaded");
44-
listeners.add(next);
45-
}
36+
public AlarmService() {}
37+
38+
public void addListener(AlarmEventListener listener) {
39+
listeners.add(listener);
40+
log.info("Add AlarmEventListener: {}", listener);
4641
}
4742

4843
public void alarm(String eventName, Map<String, String> eventMessage) {

server/odc-core/src/main/java/com/oceanbase/odc/core/alarm/AlarmUtils.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,10 @@ private AlarmUtils() {}
4949

5050
static AlarmService alarmService = new AlarmService();
5151

52+
public static void registerListener(AlarmEventListener listener) {
53+
alarmService.addListener(listener);
54+
}
55+
5256
public static void alarm(String eventName, String eventMessage) {
5357
alarmService.alarm(eventName, eventMessage);
5458
}

server/odc-server/src/main/java/com/oceanbase/odc/server/OdcServer.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -78,7 +78,6 @@ public OdcServer(@Qualifier("metadbMigrate") AbstractMetaDBMigrate metadbMigrate
7878
* @param args
7979
*/
8080
public static void main(String[] args) {
81-
AlarmUtils.alarm(SERVER_RESTART, LocalDateTime.now().toString());
8281
initEnv();
8382
System.setProperty("spring.cloud.bootstrap.enabled", "true");
8483
PluginSpringApplication.run(OdcServer.class, args);

0 commit comments

Comments
 (0)