@Inject
public MongoDBRiver(RiverName riverName, RiverSettings settings, @RiverIndexName String riverIndexName,
Client esClient, ScriptService scriptService, MongoClientService mongoClientService) {
super(riverName, settings);
if (logger.isTraceEnabled()) {
logger.trace("Initializing");
}
this.esClient = esClient;
this.scriptService = scriptService;
this.mongoClientService = mongoClientService;
this.definition = MongoDBRiverDefinition.parseSettings(riverName.name(), riverIndexName, settings, scriptService);
BlockingQueue<QueueEntry> stream = definition.getThrottleSize() == -1 ? new LinkedTransferQueue<QueueEntry>()
: new ArrayBlockingQueue<QueueEntry>(definition.getThrottleSize());
this.context = new SharedContext(stream, Status.STOPPED);
}