forked from j62/ctbrec
1
0
Fork 0

Start event system immediately after start

Instead of waiting for the online monitor to do it'S first run, we not
ignore model state changes from unknown to online
This commit is contained in:
0xb00bface 2020-08-21 15:57:22 +02:00
parent d20680f228
commit 151c58fa9f
2 changed files with 9 additions and 19 deletions

View File

@ -14,7 +14,6 @@ import java.util.ArrayList;
import java.util.Iterator; import java.util.Iterator;
import java.util.List; import java.util.List;
import java.util.Objects; import java.util.Objects;
import java.util.concurrent.TimeUnit;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
@ -317,24 +316,12 @@ public class CamrecApplication extends Application {
} }
private void registerAlertSystem() { private void registerAlertSystem() {
new Thread(() -> {
try {
// don't register before 1 minute has passed, because directly after
// the start of ctbrec, an event for every online model would be fired,
// which is annoying as f
Thread.sleep(TimeUnit.MINUTES.toMillis(1));
for (EventHandlerConfiguration eventHandlerConfig : Config.getInstance().getSettings().eventHandlers) { for (EventHandlerConfiguration eventHandlerConfig : Config.getInstance().getSettings().eventHandlers) {
EventHandler handler = new EventHandler(eventHandlerConfig); EventHandler handler = new EventHandler(eventHandlerConfig);
EventBusHolder.register(handler); EventBusHolder.register(handler);
LOG.debug("Registered event handler for {} {}", eventHandlerConfig.getEvent(), eventHandlerConfig.getName()); LOG.debug("Registered event handler for {} {}", eventHandlerConfig.getEvent(), eventHandlerConfig.getName());
} }
LOG.debug("Alert System registered"); LOG.debug("Alert System registered");
} catch (InterruptedException e) {
Thread.currentThread().interrupt();
LOG.info("Interrupted before alter system has been registered");
}
}).start();
} }
private void registerActiveRecordingsCounter() { private void registerActiveRecordingsCounter() {

View File

@ -22,6 +22,9 @@ public class ShowNotification extends Action {
switch(evt.getType()) { switch(evt.getType()) {
case MODEL_STATUS_CHANGED: case MODEL_STATUS_CHANGED:
ModelStateChangedEvent modelEvent = (ModelStateChangedEvent) evt; ModelStateChangedEvent modelEvent = (ModelStateChangedEvent) evt;
if (modelEvent.getOldState() == Model.State.UNKNOWN) {
return;
}
Model m = modelEvent.getModel(); Model m = modelEvent.getModel();
msg = m.getDisplayName() + " is now " + modelEvent.getNewState().toString(); msg = m.getDisplayName() + " is now " + modelEvent.getNewState().toString();
break; break;