@Override public void run() { Exception ex = null; synchronized (this) { fIsStarted = true; } System.out.println("ExternalIndexBuildJob: run"); try { fPlan.getPlanner().execIndexChangePlan(fMonitor, fPlan); } catch (Exception e) { e.printStackTrace(); ex = e; } synchronized (fSyncObj) { fBuilder.notify_job_complete(this); fIsDone = true; fSyncObj.notifyAll(); } }
@Override public synchronized boolean canReplace(ISVDBIndexChangePlan plan) { return (!fIsStarted && plan.equals(fPlan)); }