Mit Transformers.toJson() mein json Datum wie folgt aussieht:Aufschalten fasterxml jackson ObjectMapper verwendet von Spring Integration dsl
"CreatedDate": { "Jahr": 2017, "Monat": "Oktober", "monthValue "10," DayOfMonth ": 25," Stunde ": 7," Minute ": 57," Sekunde ": 36," Nano ": 972000000," DayOfWeek ":" MITTWOCH "," DayOfYear ": 298," Chronologie ": {" calendarType ":" ISO8601" , "id": "ISO"}}
Hier ist die ausgehende ampq Konfiguration:
@Bean
public IntegrationFlow outboundCdrRabbitFlowDefinition() {
return IntegrationFlows.from(CHANNEL_NAME)
.transform(Transformers.toJson())
.handle(Amqp.outboundAdapter(new RabbitTemplate(cachingConnectionFactory))
.routingKey("routing-key"))
.get();
}
der Verbraucher des Kaninchens Warteschlange erwartet das Format „YYYY MM-d d'T'HH: mm: ss.SSSZ "
Gibt es eine Möglichkeit, den Standard-ObjectMapper, der von der Spring-Integration verwendet wird, zu überschreiben?
Zum Beispiel habe ich die diese Konfiguration in meiner Web-api Config, die WebMvcConfigurerAdapter erweitert:
@Bean
public ObjectMapper objectMapper() {
ObjectMapper mapper = new ObjectMapper();
mapper.setTimeZone(UTC_TIME_ZONE);
mapper.setDateFormat(ISO_8601_DATE_FORMAT);
mapper.registerModule(new Jdk8Module());
mapper.registerModule(new JavaTimeModule());
mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
return mapper;
}
@Bean
public MappingJackson2HttpMessageConverter mappingJackson2HttpMessageConverter() {
MappingJackson2HttpMessageConverter mappingJackson2HttpMessageConverter = new MappingJackson2HttpMessageConverter();
mappingJackson2HttpMessageConverter.setObjectMapper(objectMapper());
return mappingJackson2HttpMessageConverter;
}
@Override
public void configureMessageConverters(List<HttpMessageConverter<?>> converters) {
converters.add(mappingJackson2HttpMessageConverter());
super.configureMessageConverters(converters);
}
Gibt es eine Möglichkeit, die objectMapper Bohne in Spring Integration wieder zu verwenden, so dass die Mapping-Konfiguration die gleiche über alle meine Outbound ist Endpunkte, Web API http oder Integration Ampq?