@Override
public void start() throws Exception
{
this.controlQueue = ControlQueue.open();
this.watcherQueue = WatcherQueue.open();
this.workerQueue = WorkerQueue.open();
this.controlEventProducer = this.controlQueue.publishControlEvents();
this.watcherEventConsumer = this.watcherQueue.consumeWatcherEvents(this, this.getWatcher().getId(), this.getName());
this.resultProducer = this.workerQueue.publishResults();
for (Executor<?> ex : this.getExecutors())
{
ex.start();
}
this.controlEventProducer.publish(new RegisterWatcher(this.getWatcher().getId(), this.getName(), this.getWatcher().getSite(), this.getWatcher().getLocation()));
}