/** * * {@inheritDoc} */ @Override protected void parseAdapter(Element element, ParserContext parserContext, BeanDefinitionBuilder destinationBuilder) { ParsingUtils.mapOptionalAttributes(element, parserContext, destinationBuilder, SERVICE_ADAPTER_ATTR); }
/** * * {@inheritDoc} */ @Override protected AbstractBeanDefinition parseInternal(Element element, ParserContext parserContext) { BeanDefinitionBuilder destinationBuilder = BeanDefinitionBuilder.genericBeanDefinition(DESTINATION_FACTORY_CLASS_NAME); String brokerId = element.getAttribute(MESSAGE_BROKER_ATTR); brokerId = StringUtils.hasText(brokerId) ? brokerId : BeanIds.MESSAGE_BROKER; destinationBuilder.addPropertyReference(MESSAGE_BROKER_PROPERTY, brokerId); ParsingUtils.mapOptionalAttributes(element, parserContext, destinationBuilder, CHANNELS_ATTR, SUBSCRIPTION_TIMEOUT_ATTR, THROTTLE_INBOUND_FREQ_ATTR, THROTTLE_INBOUND_POLICY_ATTR, THROTTLE_OUTBOUND_FREQ_ATTR, THROTTLE_OUTBOUND_POLICY_ATTR, ALLOW_SUBTOPICS_ATTR, CLUSTER_ROUTING_ATTR, CLUSTER_REF_ATTR, DISALLOW_WILDCARD_SUBTOPICS_ATTR, MESSAGE_TTL_ATTR, SEND_CONSTRAINT_ATTR, SUBSCRIBE_CONSTRAINT_ATTR, SUBTOPIC_SEPARATOR_ATTR); parseAdapter(element, parserContext, destinationBuilder); return destinationBuilder.getBeanDefinition(); }
/** * * {@inheritDoc} */ @Override protected void parseAdapter(Element element, ParserContext parserContext, BeanDefinitionBuilder destinationBuilder) { BeanDefinitionBuilder adapterBuilder = BeanDefinitionBuilder.genericBeanDefinition(INTEGRATION_ADAPTER_CLASS_NAME); ParsingUtils.mapRequiredBeanRefAttributes(element, parserContext, adapterBuilder, MESSAGE_CHANNEL_ATTR); ParsingUtils.mapOptionalAttributes(element, parserContext, adapterBuilder, EXTRACT_PAYLOAD_ATTR); String serviceAdapterId = ParsingUtils.registerInfrastructureComponent(element, parserContext, adapterBuilder); destinationBuilder.addPropertyValue(SERVICE_ADAPTER_PROPERTY, serviceAdapterId); }
/** * * {@inheritDoc} */ @Override protected void parseAdapter(Element element, ParserContext parserContext, BeanDefinitionBuilder destinationBuilder) { BeanDefinitionBuilder adapterBuilder = BeanDefinitionBuilder.genericBeanDefinition(JMS_ADAPTER_CLASS_NAME); int count = ParsingUtils.countProvidedAttributeValues(element, JMS_DESTINATION_ATTR, QUEUE_NAME_ATTR, TOPIC_NAME_ATTR); if (count != 1) { parserContext.getReaderContext().error("exactly one of 'jms-destination', 'queue-name', or 'topic-name' is required", element); return; } String connectionFactoryId = element.getAttribute(CONNECTION_FACTORY_ATTR); connectionFactoryId = StringUtils.hasText(connectionFactoryId) ? connectionFactoryId : DEFAULT_CONNECTION_FACTORY_REF; adapterBuilder.addPropertyReference(CONNECTION_FACTORY_PROPERTY, connectionFactoryId); ParsingUtils.mapOptionalBeanRefAttributes(element, adapterBuilder, parserContext, JMS_DESTINATION_ATTR, DESTINATION_RESOLVER_ATTR, MESSAGE_CONVERTER_ATTR, TRANSACTION_MANAGER_ATTR); ParsingUtils.mapOptionalAttributes(element, parserContext, adapterBuilder, QUEUE_NAME_ATTR, TOPIC_NAME_ATTR); String serviceAdapterId = ParsingUtils.registerInfrastructureComponent(element, parserContext, adapterBuilder); destinationBuilder.addPropertyValue(SERVICE_ADAPTER_PROPERTY, serviceAdapterId); }
/** * The main parsing algorithm for the <code>remoting-destination</code> tag. * * @param element the element being parsed * @param parserContext the current parser context * @param exportedBeanReference reference to the bean being exported as a remoting destination * @return a bean definition holder for the {@link RemotingDestinationExporter} bean */ protected BeanDefinitionHolder parseInternal(Element element, ParserContext parserContext, String exportedBeanReference) { BeanDefinitionBuilder builder = BeanDefinitionBuilder.genericBeanDefinition(REMOTING_DESTINATION_EXPORTER_CLASS_NAME); builder.getRawBeanDefinition().setRole(BeanDefinition.ROLE_INFRASTRUCTURE); validateRemotingDestination(element, parserContext); String destinationId = element.getAttribute(DESTINATION_ID_ATTR); String brokerId = element.getAttribute(MESSAGE_BROKER_ATTR); builder.addPropertyValue(SERVICE_PROPERTY, exportedBeanReference); builder.addDependsOn(exportedBeanReference); destinationId = StringUtils.hasText(destinationId) ? destinationId : exportedBeanReference; builder.addPropertyValue(DESTINATION_ID_PROPERTY, destinationId); brokerId = StringUtils.hasText(brokerId) ? brokerId : BeanIds.MESSAGE_BROKER; builder.addPropertyReference(MESSAGE_BROKER_PROPERTY, brokerId); ParsingUtils.mapOptionalAttributes(element, parserContext, builder, CHANNELS_ATTR, INCLUDE_METHODS_ATTR, EXCLUDE_METHODS_ATTR, SERVICE_ADAPTER_ATTR); String beanName = ParsingUtils.registerInfrastructureComponent(element, parserContext, builder); return new BeanDefinitionHolder(builder.getBeanDefinition(), beanName); }
ParsingUtils.mapOptionalAttributes(element, parserContext, builder, SERVICES_CONFIG_PATH_ATTR);