'Spring doesn't load JavaTimeModule after Spring Update just load legacy one

I updated my project from spring boot 2.3.8 to 2.6.7 and I upgrade the jackson version to 2.13.2

I set the JavaTimeModule like this:

@Bean
@Primary
  public ObjectMapper objectMapperBuilder() {
    Jackson2ObjectMapperBuilder builder = new Jackson2ObjectMapperBuilder();
    builder.featuresToDisable(DeserializationFeature.ADJUST_DATES_TO_CONTEXT_TIME_ZONE);
    builder.featuresToDisable(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS);
    builder.modulesToInstall(new JavaTimeModule());
    return builder.build();
  }

I have a Test checking if i set the JaveTimeModule correctly:

 def "jackson config - adding JavaTimeModule and disable ADJUST_DATES_TO_CONTEXT_TIME_ZONE"(){

        when:
        def objectMapper = jacksonConfig.objectMapperBuilder()

        then:
        !objectMapper.getDeserializationConfig().isEnabled(DeserializationFeature.ADJUST_DATES_TO_CONTEXT_TIME_ZONE)
        !objectMapper.getSerializationConfig().isEnabled(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS)
        objectMapper.getRegisteredModuleIds().contains("com.fasterxml.jackson.datatype.jdk8.Jdk8Module")
        objectMapper.getRegisteredModuleIds().contains("com.fasterxml.jackson.datatype.jsr310.JavaTimeModule")
    }

The test fails. Everytime I debug it, I just see that "com.fasterxml.jackson.datatype.jdk8.Jdk8Module" and "jackson-datatype-jsr310" as registered Modules. I don't see "com.fasterxml.jackson.datatype.jsr310.JavaTimeModule" as a registered module



Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source