@Override protected Binding<MessageChannel> doBindProducer(String name, MessageChannel channel, ProducerProperties properties) { Assert.isInstanceOf(SubscribableChannel.class, channel); logger.debug("Binding Consul client to eventName " + name); ConsulSendingHandler sendingHandler = new ConsulSendingHandler(this.eventService.getConsulClient(), name); EventDrivenConsumer consumer = new EventDrivenConsumer((SubscribableChannel) channel, sendingHandler); consumer.setBeanFactory(getBeanFactory()); consumer.setBeanName(String.format(BEAN_NAME_TEMPLATE, name)); consumer.afterPropertiesSet(); consumer.start(); return new DefaultBinding<>(name, null, channel, consumer); } }
@Override protected Binding<MessageChannel> doBindProducer(String name, MessageChannel channel, ProducerProperties properties) { Assert.isInstanceOf(SubscribableChannel.class, channel); logger.debug("Binding Consul client to eventName " + name); ConsulSendingHandler sendingHandler = new ConsulSendingHandler(this.eventService.getConsulClient(), name); EventDrivenConsumer consumer = new EventDrivenConsumer((SubscribableChannel) channel, sendingHandler); consumer.setBeanFactory(getBeanFactory()); consumer.setBeanName(String.format(BEAN_NAME_TEMPLATE, name)); consumer.afterPropertiesSet(); consumer.start(); return new DefaultBinding<>(name, null, channel, consumer); } }
private void bindProducerDirectly(String name, SubscribableChannel producerChannel, MessageChannel consumerChannel, AbstractBusPropertiesAccessor properties) { DirectHandler handler = new DirectHandler(consumerChannel); EventDrivenConsumer consumer = new EventDrivenConsumer(producerChannel, handler); consumer.setBeanFactory(getBeanFactory()); consumer.setBeanName("outbound." + name); consumer.afterPropertiesSet(); Binding binding = Binding.forDirectProducer(name, producerChannel, consumer, properties); addBinding(binding); binding.start(); if (logger.isInfoEnabled()) { logger.info("Producer bound directly: " + binding); } }