int opsBufferSize) {
Assert.notNull(dataSupplier, "Data Supplier cannot be null.");
Assert.notNull(consumer, "Consumer cannot be null.");
Assert.notNull(errorConsumers, "Error Consumers Registry cannot be null.");
executor = Executors.newCachedThreadPool(new NamedDaemonThreadFactory("processor"));
if (opsBufferSize < 1) {
this.opsBufferSize = 256 * Runtime.getRuntime().availableProcessors();
} else {
this.opsBufferSize = opsBufferSize;