private void reloadService() throws RuntimeException { LOGGER.info("Reload event service"); // unsubscribe current events for (Event event : events) { jsonMessaging.unsubscribe(event.getSubject()); LOGGER.debug("Unsubscribe from subject: " + event.getSubject()); } events = Ebean.find(Event.class).findList(); // subscribe to events from db for (Event event : events) { jsonMessaging.subscribe(event.getSubject()); LOGGER.debug("Subscribe from subject: " + event.getSubject()); } // take pause to save/remove new entity try { Thread.sleep(500); } catch (InterruptedException e) { e.printStackTrace(); } // load all scripts, compile and put into map compiledScriptMap = loadAndCompile(events); LOGGER.info("Reload event service done"); }