String logsjobdir = job.getLogDirectory()+job.getDuccId().getFriendly()+File.separator;
performanceSummaryWriter = new PerformanceSummaryWriter(logsjobdir);
workItemStateManager = new WorkItemStateManager(logsjobdir);
synchronizedStats = new SynchronizedStats();
// Prepare UIMA-AS client instance and multiple threads
ClientThreadFactory factory = new ClientThreadFactory("UimaASClientThread");
queue = new LinkedBlockingQueue<Runnable>();
executor = new DynamicThreadPoolExecutor(1, 1, 10, TimeUnit.MICROSECONDS, queue, factory, null);
client = new BaseUIMAAsynchronousEngine_impl();
workItemListener = new WorkItemListener(this);
client.addStatusCallbackListener(workItemListener);