public void launch(String name, String jobParameters) {
		MessageChannel channel = jobChannels.get(name);
		if (channel == null) {
			jobChannels.putIfAbsent(name, new DirectChannel());
			channel = jobChannels.get(name);
			messageBus.bindProducer(JOB_CHANNEL_PREFIX + name, channel, null);
		}
		// Double check so that user gets an informative error message
		JobDefinition job = getDefinitionRepository().findOne(name);
		if (job == null) {
			throwNoSuchDefinitionException(name);
		}
		if (instanceRepository.findOne(name) == null) {
			throwNotDeployedException(name);
		}
		channel.send(MessageBuilder.withPayload(jobParameters != null ? jobParameters : "").build());
	}
@author Glenn Renfro
@author Luke Taylor
@author Ilayaperumal Gopinathan
@author Gunnar Hillert
spring-xd-dirt/src/main/java/org/springframework/xd/dirt/stream/JobDeployer.java