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

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

Introduction

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

Prototype

PayloadExpressionArgumentResolver

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  av a  2s.  c  o  m*/
        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);
}