server

Clone or download

Replaced timer by ExecutorService

Modified Files

--- 'a/src/main/java/com/stream_pi/server/controller/Controller.java'
+++ b/src/main/java/com/stream_pi/server/controller/Controller.java
@@ -392,26 +392,34 @@ public class Controller extends Base imp
}
else
{
- new Timer().schedule(
- new TimerTask() {
- @Override
- public void run()
- {
- getLogger().info("action "+action.getID()+" clicked!");
+ executor.execute(new Task<Void>() {
+ @Override
+ protected Void call()
+ {
+ try {
+ Thread.sleep(action.getDelayBeforeExecuting());
+
+ getLogger().info("action "+action.getID()+" clicked!");
- if(action instanceof ToggleAction)
- {
- onToggleActionClicked((ToggleAction) action, toggle, profileID,
- client.getRemoteSocketAddress());
- }
- else if (action instanceof NormalAction)
- {
- onNormalActionClicked((NormalAction) action, profileID,
- client.getRemoteSocketAddress());
- }
+ if(action instanceof ToggleAction)
+ {
+ onToggleActionClicked((ToggleAction) action, toggle, profileID,
+ client.getRemoteSocketAddress());
+ }
+ else if (action instanceof NormalAction)
+ {
+ onNormalActionClicked((NormalAction) action, profileID,
+ client.getRemoteSocketAddress());
}
- }, action.getDelayBeforeExecuting()
- );
+ }
+ catch (InterruptedException e)
+ {
+ e.printStackTrace();
+ getLogger().info("onActionClicked scheduled task was interrupted ...");
+ }
+ return null;
+ }
+ });
}
}
}