Java源码示例:org.springframework.messaging.handler.annotation.support.MessageHandlerMethodFactory

示例1
/**
 * This operations ensures that required dependencies are not accidentally injected
 * early given that this bean is BPP.
 */
@SuppressWarnings({ "unchecked", "rawtypes" })
private void injectAndPostProcessDependencies() {
	Collection<StreamListenerParameterAdapter> streamListenerParameterAdapters = this.applicationContext
			.getBeansOfType(StreamListenerParameterAdapter.class).values();
	Collection<StreamListenerResultAdapter> streamListenerResultAdapters = this.applicationContext
			.getBeansOfType(StreamListenerResultAdapter.class).values();
	this.binderAwareChannelResolver = this.applicationContext
			.getBean("binderAwareChannelResolver", DestinationResolver.class);
	this.messageHandlerMethodFactory = this.applicationContext
			.getBean("integrationMessageHandlerMethodFactory", MessageHandlerMethodFactory.class);
	this.springIntegrationProperties = this.applicationContext
			.getBean(SpringIntegrationProperties.class);

	this.streamListenerSetupMethodOrchestrators.addAll(this.applicationContext
			.getBeansOfType(StreamListenerSetupMethodOrchestrator.class).values());

	// Default orchestrator for StreamListener method invocation is added last into
	// the LinkedHashSet.
	this.streamListenerSetupMethodOrchestrators.add(
			new DefaultStreamListenerSetupMethodOrchestrator(this.applicationContext,
					streamListenerParameterAdapters, streamListenerResultAdapters));

	this.streamListenerCallbacks.forEach(Runnable::run);
}
 
示例2
@Override
public void afterSingletonsInstantiated() {
	// Remove resolved singleton classes from cache
	this.nonAnnotatedClasses.clear();

	if (this.beanFactory instanceof ListableBeanFactory) {
		// Apply JmsListenerConfigurer beans from the BeanFactory, if any
		Map<String, JmsListenerConfigurer> beans =
				((ListableBeanFactory) this.beanFactory).getBeansOfType(JmsListenerConfigurer.class);
		List<JmsListenerConfigurer> configurers = new ArrayList<>(beans.values());
		AnnotationAwareOrderComparator.sort(configurers);
		for (JmsListenerConfigurer configurer : configurers) {
			configurer.configureJmsListeners(this.registrar);
		}
	}

	if (this.containerFactoryBeanName != null) {
		this.registrar.setContainerFactoryBeanName(this.containerFactoryBeanName);
	}

	if (this.registrar.getEndpointRegistry() == null) {
		// Determine JmsListenerEndpointRegistry bean from the BeanFactory
		if (this.endpointRegistry == null) {
			Assert.state(this.beanFactory != null, "BeanFactory must be set to find endpoint registry by bean name");
			this.endpointRegistry = this.beanFactory.getBean(
					JmsListenerConfigUtils.JMS_LISTENER_ENDPOINT_REGISTRY_BEAN_NAME, JmsListenerEndpointRegistry.class);
		}
		this.registrar.setEndpointRegistry(this.endpointRegistry);
	}


	// Set the custom handler method factory once resolved by the configurer
	MessageHandlerMethodFactory handlerMethodFactory = this.registrar.getMessageHandlerMethodFactory();
	if (handlerMethodFactory != null) {
		this.messageHandlerMethodFactory.setMessageHandlerMethodFactory(handlerMethodFactory);
	}

	// Actually register all listeners
	this.registrar.afterPropertiesSet();
}
 
示例3
private MessageHandlerMethodFactory createDefaultJmsHandlerMethodFactory() {
	DefaultMessageHandlerMethodFactory defaultFactory = new DefaultMessageHandlerMethodFactory();
	if (beanFactory != null) {
		defaultFactory.setBeanFactory(beanFactory);
	}
	defaultFactory.afterPropertiesSet();
	return defaultFactory;
}
 
示例4
@Override
public void afterSingletonsInstantiated() {
	// Remove resolved singleton classes from cache
	this.nonAnnotatedClasses.clear();

	if (this.beanFactory instanceof ListableBeanFactory) {
		// Apply JmsListenerConfigurer beans from the BeanFactory, if any
		Map<String, JmsListenerConfigurer> beans =
				((ListableBeanFactory) this.beanFactory).getBeansOfType(JmsListenerConfigurer.class);
		List<JmsListenerConfigurer> configurers = new ArrayList<>(beans.values());
		AnnotationAwareOrderComparator.sort(configurers);
		for (JmsListenerConfigurer configurer : configurers) {
			configurer.configureJmsListeners(this.registrar);
		}
	}

	if (this.containerFactoryBeanName != null) {
		this.registrar.setContainerFactoryBeanName(this.containerFactoryBeanName);
	}

	if (this.registrar.getEndpointRegistry() == null) {
		// Determine JmsListenerEndpointRegistry bean from the BeanFactory
		if (this.endpointRegistry == null) {
			Assert.state(this.beanFactory != null, "BeanFactory must be set to find endpoint registry by bean name");
			this.endpointRegistry = this.beanFactory.getBean(
					JmsListenerConfigUtils.JMS_LISTENER_ENDPOINT_REGISTRY_BEAN_NAME, JmsListenerEndpointRegistry.class);
		}
		this.registrar.setEndpointRegistry(this.endpointRegistry);
	}


	// Set the custom handler method factory once resolved by the configurer
	MessageHandlerMethodFactory handlerMethodFactory = this.registrar.getMessageHandlerMethodFactory();
	if (handlerMethodFactory != null) {
		this.messageHandlerMethodFactory.setMessageHandlerMethodFactory(handlerMethodFactory);
	}

	// Actually register all listeners
	this.registrar.afterPropertiesSet();
}
 
示例5
private MessageHandlerMethodFactory createDefaultJmsHandlerMethodFactory() {
	DefaultMessageHandlerMethodFactory defaultFactory = new DefaultMessageHandlerMethodFactory();
	if (beanFactory != null) {
		defaultFactory.setBeanFactory(beanFactory);
	}
	defaultFactory.afterPropertiesSet();
	return defaultFactory;
}
 
示例6
@Override
public void afterSingletonsInstantiated() {
	this.registrar.setBeanFactory(this.beanFactory);

	if (this.beanFactory instanceof ListableBeanFactory) {
		Map<String, JmsListenerConfigurer> instances =
				((ListableBeanFactory) this.beanFactory).getBeansOfType(JmsListenerConfigurer.class);
		for (JmsListenerConfigurer configurer : instances.values()) {
			configurer.configureJmsListeners(this.registrar);
		}
	}

	if (this.registrar.getEndpointRegistry() == null) {
		if (this.endpointRegistry == null) {
			Assert.state(this.beanFactory != null, "BeanFactory must be set to find endpoint registry by bean name");
			this.endpointRegistry = this.beanFactory.getBean(
					JmsListenerConfigUtils.JMS_LISTENER_ENDPOINT_REGISTRY_BEAN_NAME, JmsListenerEndpointRegistry.class);
		}
		this.registrar.setEndpointRegistry(this.endpointRegistry);
	}

	if (this.containerFactoryBeanName != null) {
		this.registrar.setContainerFactoryBeanName(this.containerFactoryBeanName);
	}

	// Set the custom handler method factory once resolved by the configurer
	MessageHandlerMethodFactory handlerMethodFactory = this.registrar.getMessageHandlerMethodFactory();
	if (handlerMethodFactory != null) {
		this.messageHandlerMethodFactory.setMessageHandlerMethodFactory(handlerMethodFactory);
	}

	// Actually register all listeners
	this.registrar.afterPropertiesSet();
}
 
示例7
public void setMessageHandlerMethodFactory(MessageHandlerMethodFactory messageHandlerMethodFactory) {
	this.messageHandlerMethodFactory = messageHandlerMethodFactory;
}
 
示例8
private MessageHandlerMethodFactory getMessageHandlerMethodFactory() {
	if (this.messageHandlerMethodFactory == null) {
		this.messageHandlerMethodFactory = createDefaultJmsHandlerMethodFactory();
	}
	return this.messageHandlerMethodFactory;
}
 
示例9
/**
 * Return the custom {@link MessageHandlerMethodFactory} to use, if any.
 */
@Nullable
public MessageHandlerMethodFactory getMessageHandlerMethodFactory() {
	return this.messageHandlerMethodFactory;
}
 
示例10
@Bean
public MessageHandlerMethodFactory customMessageHandlerMethodFactory() {
	DefaultMessageHandlerMethodFactory factory = new DefaultMessageHandlerMethodFactory();
	factory.setValidator(new TestValidator());
	return factory;
}
 
示例11
public void setMessageHandlerMethodFactory(MessageHandlerMethodFactory messageHandlerMethodFactory) {
	this.messageHandlerMethodFactory = messageHandlerMethodFactory;
}
 
示例12
private MessageHandlerMethodFactory getMessageHandlerMethodFactory() {
	if (this.messageHandlerMethodFactory == null) {
		this.messageHandlerMethodFactory = createDefaultJmsHandlerMethodFactory();
	}
	return this.messageHandlerMethodFactory;
}
 
示例13
/**
 * Return the custom {@link MessageHandlerMethodFactory} to use, if any.
 */
@Nullable
public MessageHandlerMethodFactory getMessageHandlerMethodFactory() {
	return this.messageHandlerMethodFactory;
}
 
示例14
@Bean
public MessageHandlerMethodFactory customMessageHandlerMethodFactory() {
	DefaultMessageHandlerMethodFactory factory = new DefaultMessageHandlerMethodFactory();
	factory.setValidator(new TestValidator());
	return factory;
}
 
示例15
public void setMessageHandlerMethodFactory(MessageHandlerMethodFactory messageHandlerMethodFactory) {
	this.messageHandlerMethodFactory = messageHandlerMethodFactory;
}
 
示例16
private MessageHandlerMethodFactory getMessageHandlerMethodFactory() {
	if (this.messageHandlerMethodFactory == null) {
		this.messageHandlerMethodFactory = createDefaultJmsHandlerMethodFactory();
	}
	return this.messageHandlerMethodFactory;
}
 
示例17
private MessageHandlerMethodFactory createDefaultJmsHandlerMethodFactory() {
	DefaultMessageHandlerMethodFactory defaultFactory = new DefaultMessageHandlerMethodFactory();
	defaultFactory.setBeanFactory(beanFactory);
	defaultFactory.afterPropertiesSet();
	return defaultFactory;
}
 
示例18
/**
 * Return the custom {@link MessageHandlerMethodFactory} to use, if any.
 */
public MessageHandlerMethodFactory getMessageHandlerMethodFactory() {
	return this.messageHandlerMethodFactory;
}
 
示例19
@Bean
public MessageHandlerMethodFactory customMessageHandlerMethodFactory() {
	DefaultMessageHandlerMethodFactory factory = new DefaultMessageHandlerMethodFactory();
	factory.setValidator(new TestValidator());
	return factory;
}
 
示例20
/**
 * Set the {@link MessageHandlerMethodFactory} to use to configure the message
 * listener responsible to serve an endpoint detected by this processor.
 * <p>By default, {@link DefaultMessageHandlerMethodFactory} is used and it
 * can be configured further to support additional method arguments
 * or to customize conversion and validation support. See
 * {@link DefaultMessageHandlerMethodFactory} Javadoc for more details.
 */
public void setMessageHandlerMethodFactory(MessageHandlerMethodFactory messageHandlerMethodFactory) {
	this.messageHandlerMethodFactory.setMessageHandlerMethodFactory(messageHandlerMethodFactory);
}
 
示例21
/**
 * Set the {@link MessageHandlerMethodFactory} to use to configure the message
 * listener responsible to serve an endpoint detected by this processor.
 * <p>By default, {@link DefaultMessageHandlerMethodFactory} is used and it
 * can be configured further to support additional method arguments
 * or to customize conversion and validation support. See
 * {@link DefaultMessageHandlerMethodFactory} javadoc for more details.
 */
public void setMessageHandlerMethodFactory(@Nullable MessageHandlerMethodFactory messageHandlerMethodFactory) {
	this.messageHandlerMethodFactory = messageHandlerMethodFactory;
}
 
示例22
/**
 * Set the {@link MessageHandlerMethodFactory} to use to build the
 * {@link InvocableHandlerMethod} responsible to manage the invocation
 * of this endpoint.
 */
public void setMessageHandlerMethodFactory(MessageHandlerMethodFactory messageHandlerMethodFactory) {
	this.messageHandlerMethodFactory = messageHandlerMethodFactory;
}
 
示例23
/**
 * Set the {@link MessageHandlerMethodFactory} to use to configure the message
 * listener responsible to serve an endpoint detected by this processor.
 * <p>By default, {@link DefaultMessageHandlerMethodFactory} is used and it
 * can be configured further to support additional method arguments
 * or to customize conversion and validation support. See
 * {@link DefaultMessageHandlerMethodFactory} Javadoc for more details.
 */
public void setMessageHandlerMethodFactory(MessageHandlerMethodFactory messageHandlerMethodFactory) {
	this.messageHandlerMethodFactory.setMessageHandlerMethodFactory(messageHandlerMethodFactory);
}
 
示例24
/**
 * Set the {@link MessageHandlerMethodFactory} to use to configure the message
 * listener responsible to serve an endpoint detected by this processor.
 * <p>By default, {@link DefaultMessageHandlerMethodFactory} is used and it
 * can be configured further to support additional method arguments
 * or to customize conversion and validation support. See
 * {@link DefaultMessageHandlerMethodFactory} javadoc for more details.
 */
public void setMessageHandlerMethodFactory(@Nullable MessageHandlerMethodFactory messageHandlerMethodFactory) {
	this.messageHandlerMethodFactory = messageHandlerMethodFactory;
}
 
示例25
/**
 * Set the {@link MessageHandlerMethodFactory} to use to build the
 * {@link InvocableHandlerMethod} responsible to manage the invocation
 * of this endpoint.
 */
public void setMessageHandlerMethodFactory(MessageHandlerMethodFactory messageHandlerMethodFactory) {
	this.messageHandlerMethodFactory = messageHandlerMethodFactory;
}
 
示例26
/**
 * Set the {@link MessageHandlerMethodFactory} to use to configure the message
 * listener responsible to serve an endpoint detected by this processor.
 * <p>By default, {@link DefaultMessageHandlerMethodFactory} is used and it
 * can be configured further to support additional method arguments
 * or to customize conversion and validation support. See
 * {@link DefaultMessageHandlerMethodFactory} Javadoc for more details.
 */
public void setMessageHandlerMethodFactory(MessageHandlerMethodFactory messageHandlerMethodFactory) {
	this.messageHandlerMethodFactory.setMessageHandlerMethodFactory(messageHandlerMethodFactory);
}
 
示例27
/**
 * Set the {@link MessageHandlerMethodFactory} to use to configure the message
 * listener responsible to serve an endpoint detected by this processor.
 * <p>By default, {@link DefaultMessageHandlerMethodFactory} is used and it
 * can be configured further to support additional method arguments
 * or to customize conversion and validation support. See
 * {@link DefaultMessageHandlerMethodFactory} javadoc for more details.
 */
public void setMessageHandlerMethodFactory(MessageHandlerMethodFactory messageHandlerMethodFactory) {
	this.messageHandlerMethodFactory = messageHandlerMethodFactory;
}
 
示例28
/**
 * Set the {@link MessageHandlerMethodFactory} to use to build the
 * {@link InvocableHandlerMethod} responsible to manage the invocation
 * of this endpoint.
 */
public void setMessageHandlerMethodFactory(MessageHandlerMethodFactory messageHandlerMethodFactory) {
	this.messageHandlerMethodFactory = messageHandlerMethodFactory;
}