如何在Spring Boot中使用`JacksonAutoConfiguration`自动配置`MetricsModule`

时间:2016-06-02 23:38:12

标签: java spring spring-boot jackson

我正在尝试使用MetricsModule来解析/metrics端点的响应主体。由于某种原因,模块永远不会注册相应的ObjectMapper

我发现这个@PostConstruct方法被删除了:

@PostConstruct
private void More ...registerModulesWithObjectMappers() {
    Collection<Module> modules = getBeans(this.beanFactory, Module.class);
    for (ObjectMapper objectMapper : getBeans(this.beanFactory, ObjectMapper.class)) {
    objectMapper.registerModules(modules);
}

我已经实现了自己的代码来做同样的事情,但我不确定这是否是解决此问题的正确方法。

为什么JacksonAutoConfiguration不支持这种类型的自动配置?

1 个答案:

答案 0 :(得分:0)

在问题"Don't register Jackson Module beans with all ObjectMappers"的提交"Make Jackson auto-configuration more consistent and predictable"中删除了该方法。简而言之,这样做是为了不弄乱容器中的每个ObjectMapper bean。

要确保您的Module bean已使用自动配置的ObjectMapper注册,请确保Module创建不依赖于ObjectMapper的实例。例如,在创建ObjectMapper bean之前,不要在任何地方自动配置自动配置的Module