String gatewayBeanName = BeanDefinitionReaderUtils.generateBeanName(beanDef, parserContext.getRegistry());
parserContext.registerBeanComponent(new BeanComponentDefinition(beanDef, gatewayBeanName));
defBuilder = BeanDefinitionBuilder.genericBeanDefinition(ConsumerEndpointFactoryBean.class);
defBuilder.addPropertyReference("handler", gatewayBeanName);
defBuilder.addPropertyValue("inputChannelName", reqChannelBeanName);
beanDef = defBuilder.getBeanDefinition();
String consumerBeanName = BeanDefinitionReaderUtils.generateBeanName(beanDef, parserContext.getRegistry());
parserContext.registerBeanComponent(new BeanComponentDefinition(beanDef, consumerBeanName));
} else if (hasResponseChannelAttribute && hasRequestChannelAttribute) {