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(() -> { for (EventHandlerConfiguration eventHandlerConfig : Config.getInstance().getSettings().eventHandlers) {
try { EventHandler handler = new EventHandler(eventHandlerConfig);
// don't register before 1 minute has passed, because directly after EventBusHolder.register(handler);
// the start of ctbrec, an event for every online model would be fired, LOG.debug("Registered event handler for {} {}", eventHandlerConfig.getEvent(), eventHandlerConfig.getName());
// which is annoying as f }
Thread.sleep(TimeUnit.MINUTES.toMillis(1)); LOG.debug("Alert System registered");
for (EventHandlerConfiguration eventHandlerConfig : Config.getInstance().getSettings().eventHandlers) {
EventHandler handler = new EventHandler(eventHandlerConfig);
EventBusHolder.register(handler);
LOG.debug("Registered event handler for {} {}", eventHandlerConfig.getEvent(), eventHandlerConfig.getName());
}
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;