Example usage for org.springframework.integration.handler.support PayloadsArgumentResolver PayloadsArgumentResolver

List of usage examples for org.springframework.integration.handler.support PayloadsArgumentResolver PayloadsArgumentResolver

Introduction

In this page you can find the example usage for org.springframework.integration.handler.support PayloadsArgumentResolver PayloadsArgumentResolver.

Prototype

PayloadsArgumentResolver

Source Link

Usage

From source file:org.springframework.integration.handler.support.MessagingMethodInvokerHelper.java

private void configureLocalMessageHandlerFactory() {
    MessageConverter messageConverter = null;
    if (getBeanFactory() != null && getBeanFactory()
            .containsBean(IntegrationContextUtils.ARGUMENT_RESOLVER_MESSAGE_CONVERTER_BEAN_NAME)) {
        messageConverter = getBeanFactory().getBean(
                IntegrationContextUtils.ARGUMENT_RESOLVER_MESSAGE_CONVERTER_BEAN_NAME, MessageConverter.class);
        this.messageHandlerMethodFactory.setMessageConverter(messageConverter);
    } else {//w  ww .j a v a2 s .c om
        messageConverter = new ConfigurableCompositeMessageConverter();
    }
    NullAwarePayloadArgumentResolver nullResolver = new NullAwarePayloadArgumentResolver(messageConverter);
    PayloadExpressionArgumentResolver payloadExpressionArgumentResolver = new PayloadExpressionArgumentResolver();
    payloadExpressionArgumentResolver.setBeanFactory(getBeanFactory());

    PayloadsArgumentResolver payloadsArgumentResolver = new PayloadsArgumentResolver();
    payloadsArgumentResolver.setBeanFactory(getBeanFactory());

    MapArgumentResolver mapArgumentResolver = new MapArgumentResolver();
    mapArgumentResolver.setBeanFactory(getBeanFactory());

    List<HandlerMethodArgumentResolver> customArgumentResolvers = new LinkedList<>();
    customArgumentResolvers.add(payloadExpressionArgumentResolver);
    customArgumentResolvers.add(nullResolver);
    customArgumentResolvers.add(payloadsArgumentResolver);

    if (this.canProcessMessageList) {
        CollectionArgumentResolver collectionArgumentResolver = new CollectionArgumentResolver(true);
        collectionArgumentResolver.setBeanFactory(getBeanFactory());
        customArgumentResolvers.add(collectionArgumentResolver);
    }

    customArgumentResolvers.add(mapArgumentResolver);

    this.messageHandlerMethodFactory.setCustomArgumentResolvers(customArgumentResolvers);
}