public static Worker createWorker(SearchConfiguration searchConfiguration,
WorkerBuildContext buildContext,
QueueingProcessor queueingProcessor) {
Properties properties = getProperties( searchConfiguration );
String workerImplClassName = properties.getProperty( Environment.WORKER_SCOPE );
Worker worker;
if ( StringHelper.isEmpty( workerImplClassName ) || "transaction".equalsIgnoreCase( workerImplClassName ) ) {
worker = new TransactionalWorker();
}
else {
worker = instantiateExplicitlyConfiguredWorker( buildContext, workerImplClassName );
}
worker.initialize( properties, buildContext, queueingProcessor );
return worker;
}