public void start() throws Exception { if (workerThread != null) { throw new Exception("Vestige ME already started"); } workerThread = vestigeExecutor.createWorker("me-worker", true, 0); defaultApplicationManager.powerOn(vestigePlatform, applicationDescriptorFactory); server.start(); }
public void stop() throws Exception { if (workerThread == null) { throw new Exception("Vestige ME is not started"); } server.stop(); defaultApplicationManager.shutdown(); try { ObjectOutputStream objectOutputStream = new ObjectOutputStream(new FileOutputStream(resolverFile)); try { objectOutputStream.writeObject(defaultApplicationManager); } finally { objectOutputStream.close(); } } catch (Exception e) { LOGGER.warn("Unable to save application manager", e); } workerThread.interrupt(); workerThread.join(); workerThread = null; }