如何在 CamelTestSupport 中添加模块“com.fasterxml.jackson.datatype:jackson-datatype-jsr310”

问题描述 投票:0回答:0

我正在创建一个扩展 CamelTestSupport 的测试。我正在使用 Apache Camel 3.10。我尝试在 createRouteBuilder 的测试中设置 JavaTimeModule(),使用

  public ObjectMapper produceObjectMapper() {
    ObjectMapper objectMapper = new ObjectMapper();
    objectMapper.registerModule(new JavaTimeModule());
    objectMapper.registerModule(new VavrModule());
    objectMapper.configure(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS, false);
    objectMapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
    return objectMapper;
  }
  
  @BeforeEach
  void initTest() {
    this.objectMapper = new ObjectMapperConfiguration().produceObjectMapper();
  }  

  @Override
  protected RoutesBuilder createRouteBuilder() {
    InputRoute inputRoute = new InputRoute("direct:start","direct:dlq");
    inputRoute.setContext(this.context);
    inputRoute.bindToRegistry("platformTransactionManager", platformTransactionManager);
    inputRoute.bindToRegistry("notificationRepository", notificationRepository);
    inputRoute.bindToRegistry("objectMapperJackson",objectMapper);

    return inputRoute;
  }

这个对象映射器 但我得到这个错误:

Java 8 日期/时间类型

java.time.ZonedDateTime
不受支持 默认:添加模块 “com.fasterxml.jackson.datatype:jackson-datatype-jsr310”启用 处理

这个ZoneDateTime在项目中是起作用的,也是在SpringBootTest中。但不是在 CamelTestSupport 测试中。有什么想法吗?

apache-camel spring-camel camel-test
© www.soinside.com 2019 - 2024. All rights reserved.