Example usage for org.springframework.integration.support NullAwarePayloadArgumentResolver NullAwarePayloadArgumentResolver

List of usage examples for org.springframework.integration.support NullAwarePayloadArgumentResolver NullAwarePayloadArgumentResolver

Introduction

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

Prototype

public NullAwarePayloadArgumentResolver(MessageConverter messageConverter) 

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 {/*from  w ww  .  j  ava 2  s.  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);
}