private void unbindPartitionedJob(Module module) {
		if (logger.isDebugEnabled()) {
			logger.debug("unbinding job partitioning channels for " + module);
		}
		MessageChannel partitionsOut = module.getComponent(JOB_PARTIONER_REQUEST_CHANNEL, MessageChannel.class);
		ModuleDescriptor descriptor = module.getDescriptor();
		String name = getJobChannelName(BusUtils.constructPipeName(descriptor.getGroup(), descriptor.getIndex()));
		if (partitionsOut != null) {
			messageBus.unbindProducer(name, partitionsOut);
		}
		MessageChannel partitionsIn = module.getComponent(JOB_PARTIONER_REPLY_CHANNEL, MessageChannel.class);
		if (partitionsIn != null) {
			messageBus.unbindConsumer(name, partitionsIn);
		}
		MessageChannel stepExcutionsIn = module.getComponent(JOB_STEP_EXECUTION_REQUEST_CHANNEL, MessageChannel.class);
		if (stepExcutionsIn != null) {
			messageBus.unbindConsumer(name, stepExcutionsIn);
		}
		MessageChannel stepExecutionResultsOut = module.getComponent(JOB_STEP_EXECUTION_REPLY_CHANNEL,
				MessageChannel.class);
		if (stepExecutionResultsOut != null) {
			messageBus.unbindProducer(name, stepExecutionResultsOut);
		}
	}
Plugin to enable job partitioning.

@author Gary Russell
@author Ilayaperumal Gopinathan
@since 1.0
spring-xd-dirt/src/main/java/org/springframework/xd/dirt/plugins/job/JobPartitionerPlugin.java