package org.aksw.jena_sparql_api.batch.step; import org.springframework.batch.core.Step; import org.springframework.batch.core.partition.support.Partitioner; import org.springframework.batch.core.step.builder.PartitionStepBuilder; import org.springframework.batch.core.step.builder.StepBuilder; import org.springframework.core.task.TaskExecutor; public class FactoryBeanStepPartitioner extends FactoryBeanStepBase { protected Step slaveStep; protected Partitioner partitioner; protected Integer throttle; protected TaskExecutor taskExecutor; public FactoryBeanStepPartitioner() { super(); } public Step getSlaveStep() { return slaveStep; } public void setSlaveStep(Step slaveStep) { this.slaveStep = slaveStep; } public Partitioner getPartitioner() { return partitioner; } public void setPartitioner(Partitioner partitioner) { this.partitioner = partitioner; } public Integer getThrottle() { return throttle; } public TaskExecutor getTaskExecutor() { return taskExecutor; } public void setTaskExecutor(TaskExecutor taskExecutor) { this.taskExecutor = taskExecutor; } public void setThrottle(Integer throttle) { this.throttle = throttle; } @Override protected Step configureStep(StepBuilder stepBuilder) { //Partitioner partitioner = new PartitionerSparqlSlice(source, query); Step result = stepBuilder .partitioner(slaveStep) .partitioner(name, partitioner) .taskExecutor(taskExecutor) .gridSize(throttle != null ? throttle : 6) // PartitionStepBuilder.DEFAULT_GRID_SIZE is private, but value is 6 .build() ; return result; } }