protected void deleteBinding(String name, MessageChannel channel) {
		Assert.hasText(name, "a valid name is required to remove a binding");
		Assert.notNull(channel, "a valid channel is required to remove a binding");
		Binding bindingToRemove = null;
		synchronized (this.bindings) {
			Iterator<Binding> iterator = this.bindings.iterator();
			while (iterator.hasNext()) {
				Binding binding = iterator.next();
				if (binding.getChannel().equals(channel) &&
						binding.getEndpoint().getComponentName().equals(name)) {
					bindingToRemove = binding;
					break;
				}
			}
			if (bindingToRemove != null) {
				doDeleteBinding(bindingToRemove);
			}
		}

	}
Create a producer for the named channel and bind it to the bus. Synchronized to avoid creating multiple
instances.
@param name The name.
@param channelName The name of the channel to be created, and registered as bean.
@param properties The properties.
@return The channel.
spring-xd-messagebus-spi/src/main/java/org/springframework/xd/dirt/integration/bus/MessageBusSupport.java