private static IntegrationFlowBuilder registerComponents(Object spec) { if (spec instanceof ComponentsRegistration) { return new IntegrationFlowBuilder() .addComponents(((ComponentsRegistration) spec).getComponentsToRegister()); } return null; }
private static IntegrationFlowBuilder registerComponents(Object spec) { if (spec instanceof ComponentsRegistration) { return new IntegrationFlowBuilder() .addComponents(((ComponentsRegistration) spec).getComponentsToRegister()); } return null; }
/** * Populate a {@link ServiceActivatingHandler} for the selected protocol specific * {@link MessageHandler} implementation from {@code Namespace Factory}: * In addition accept options for the integration endpoint using {@link GenericEndpointSpec}. * Typically used with a Java 8 Lambda expression: * <pre class="code"> * {@code * .handle(Amqp.outboundAdapter(this.amqpTemplate).routingKeyExpression("headers.routingKey"), * e -> e.autoStartup(false)) * } * </pre> * @param messageHandlerSpec the {@link MessageHandlerSpec} to configure protocol specific * {@link MessageHandler}. * @param endpointConfigurer the {@link Consumer} to provide integration endpoint options. * @param <H> the {@link MessageHandler} type. * @return the current {@link IntegrationFlowDefinition}. */ public <H extends MessageHandler> B handle(MessageHandlerSpec<?, H> messageHandlerSpec, Consumer<GenericEndpointSpec<H>> endpointConfigurer) { Assert.notNull(messageHandlerSpec, "'messageHandlerSpec' must not be null"); if (messageHandlerSpec instanceof ComponentsRegistration) { addComponents(((ComponentsRegistration) messageHandlerSpec).getComponentsToRegister()); } return handle(messageHandlerSpec.get(), endpointConfigurer); }
/** * Populate a {@link ServiceActivatingHandler} for the selected protocol specific * {@link MessageHandler} implementation from {@code Namespace Factory}: * In addition accept options for the integration endpoint using {@link GenericEndpointSpec}. * Typically used with a Java 8 Lambda expression: * <pre class="code"> * {@code * .handle(Amqp.outboundAdapter(this.amqpTemplate).routingKeyExpression("headers.routingKey"), * e -> e.autoStartup(false)) * } * </pre> * @param messageHandlerSpec the {@link MessageHandlerSpec} to configure protocol specific * {@link MessageHandler}. * @param endpointConfigurer the {@link Consumer} to provide integration endpoint options. * @param <H> the {@link MessageHandler} type. * @return the current {@link IntegrationFlowDefinition}. */ public <H extends MessageHandler> B handle(MessageHandlerSpec<?, H> messageHandlerSpec, Consumer<GenericEndpointSpec<H>> endpointConfigurer) { Assert.notNull(messageHandlerSpec, "'messageHandlerSpec' must not be null"); if (messageHandlerSpec instanceof ComponentsRegistration) { addComponents(((ComponentsRegistration) messageHandlerSpec).getComponentsToRegister()); } return handle(messageHandlerSpec.get(), endpointConfigurer); }
private void processIntegrationComponentSpec(IntegrationComponentSpec<?, ?> bean) { registerComponent(bean.get(), generateBeanName(bean.get()), null, false); if (bean instanceof ComponentsRegistration) { Collection<Object> componentsToRegister = ((ComponentsRegistration) bean).getComponentsToRegister(); if (!CollectionUtils.isEmpty(componentsToRegister)) { for (Object component : componentsToRegister) { if (!this.beanFactory.getBeansOfType(component.getClass(), false, false) .values() .contains(component)) { registerComponent(component, generateBeanName(component)); } } } } }
private void processIntegrationComponentSpec(IntegrationComponentSpec<?, ?> bean) { registerComponent(bean.get(), generateBeanName(bean.get()), null, false); if (bean instanceof ComponentsRegistration) { Collection<Object> componentsToRegister = ((ComponentsRegistration) bean).getComponentsToRegister(); if (!CollectionUtils.isEmpty(componentsToRegister)) { for (Object component : componentsToRegister) { if (!this.beanFactory.getBeansOfType(component.getClass(), false, false) .values() .contains(component)) { registerComponent(component, generateBeanName(component)); } } } } }