private void createEngineThread() { if (engineThread != null && engineThread.isAlive()) return; if (engineThread != null && !engineThread.isAlive()) throw new RuntimeException(Messages.getString(Messages.LocalRepository.EngineThread_Died)); engineThread = new ModeshapeEngineThread(getId()); engineThread.start(); }
private void startRepository() { if (this.state == State.REACHABLE) return; createEngineThread(); RequestCallback callback = new RequestCallback() { @Override public void errorOccurred(final Throwable error) { throw new RuntimeException(error); } @Override public void respond(final Object results) { if (engineThread.isRunning()) { LocalRepository.this.state = State.REACHABLE; notifyObservers(); } } }; KLog.getLogger() .debug("LocalRepository.startRepository() post start repository request"); // $NON-NLS-1$ engineThread.accept(new Request(RequestType.START, callback)); }