2016-06-02 4 views
0

Ich versuche MetricsModule zu verwenden, um den Antworttext von /metrics Endpunkt zu analysieren. Aus irgendeinem Grund wird das Modul nie mit der entsprechenden ObjectMapper registriert.Wie konfiguriert man `MetricsModule` mit` JacksonAutoConfiguration` in Spring Boot

Ich habe festgestellt, dass diese @PostConstruct Methode gelöscht wird:

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

ich meinen eigenen Code implementiert haben, das Gleiche zu tun, aber ich bin mir nicht sicher, ob dies der richtige Weg ist, um dies zu beheben Problem.

Warum sollte JacksonAutoConfiguration diese Art von Autokonfiguration nicht unterstützen?

Antwort

0

Diese Methode wurde im Commit "Don't register Jackson Module beans with all ObjectMappers" für Ausgabe "Make Jackson auto-configuration more consistent and predictable" entfernt. Kurz gesagt, es wurde gemacht, um nicht mit jeder Bohne im Container zu versauen.

Um sicherzustellen, dass Ihre Module Bean mit automatisch konfigurierten ObjectMapper registriert wird, stellen Sie sicher, Module Schöpfung hängt nicht von einer Instanz von ObjectMapper in keiner Weise. Zum Beispiel, autowire nicht automatisch konfiguriert ObjectMapper irgendwo vor Module Bean erstellt wird.