hmm… getting an ISE on a null parameter… <https:/...
# spring
x
hmm… getting an ISE on a null parameter… https://pastebin.com/3kxCNZ4e … maybe jackson isn’t configured right for the spring webflux context?
Copy code
@Configuration
open class MessagingConfig {

    @Autowired
    open fun myFactory(factory: SimpleRabbitListenerContainerFactory) {
        factory.setDefaultRequeueRejected(false)
        factory.setAfterReceivePostProcessors(MessagePostProcessor {
            it.messageProperties.contentType = MediaType.APPLICATION_JSON_VALUE
            return@MessagePostProcessor it
        })
    }

    @Bean
    open fun jackson2Json(om: ObjectMapper): SmartMessageConverter {
        return Jackson2JsonMessageConverter(om)
    }

    @Bean
    open fun mappingJackson2(om: ObjectMapper): MappingJackson2MessageConverter {
        val mc = MappingJackson2MessageConverter()
        mc.objectMapper = om
        return mc
    }

    @Bean
    open fun defaultMessageHandlerMethodFactory(jackson: MappingJackson2MessageConverter): DefaultMessageHandlerMethodFactory {
        val factory = DefaultMessageHandlerMethodFactory()
        factory.setMessageConverter(jackson)
        return factory
    }


    @Bean
    open fun builder(): Jackson2ObjectMapperBuilderCustomizer {
        return Jackson2ObjectMapperBuilderCustomizer {
            it.modules(JavaTimeModule(), KotlinModule())
            it.featuresToDisable(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS)
        }
    }


    @Configuration
    open class RabbitConfigurer(val dmhmf: DefaultMessageHandlerMethodFactory) : RabbitListenerConfigurer {
        override fun configureRabbitListeners(registrar: RabbitListenerEndpointRegistrar?) {
            registrar?.messageHandlerMethodFactory = dmhmf
        }
    }
}