From ac4476ccd6843a6815f32a7d84476f99690f24da Mon Sep 17 00:00:00 2001 From: hsiegeln <37154749+hsiegeln@users.noreply.github.com> Date: Sat, 28 Mar 2026 22:02:05 +0100 Subject: [PATCH] fix: register JavaTimeModule on ObjectMapper for processors_json serialization MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The ObjectMapper used to serialize the processor tree to JSON lacked JavaTimeModule, causing Instant fields (startTime, endTime) to fail silently — processors_json was always null. Co-Authored-By: Claude Opus 4.6 (1M context) --- .../cameleer3/server/core/ingestion/IngestionService.java | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/cameleer3-server-core/src/main/java/com/cameleer3/server/core/ingestion/IngestionService.java b/cameleer3-server-core/src/main/java/com/cameleer3/server/core/ingestion/IngestionService.java index 2eb47cd7..baa7ea67 100644 --- a/cameleer3-server-core/src/main/java/com/cameleer3/server/core/ingestion/IngestionService.java +++ b/cameleer3-server-core/src/main/java/com/cameleer3/server/core/ingestion/IngestionService.java @@ -3,6 +3,7 @@ package com.cameleer3.server.core.ingestion; import com.cameleer3.common.model.ExchangeSnapshot; import com.cameleer3.common.model.ProcessorExecution; import com.cameleer3.common.model.RouteExecution; +import com.fasterxml.jackson.databind.SerializationFeature; import com.cameleer3.server.core.indexing.ExecutionUpdatedEvent; import com.cameleer3.server.core.storage.DiagramStore; import com.cameleer3.server.core.storage.ExecutionStore; @@ -19,7 +20,9 @@ import java.util.function.Consumer; public class IngestionService { - private static final ObjectMapper JSON = new ObjectMapper(); + private static final ObjectMapper JSON = new ObjectMapper() + .findAndRegisterModules() + .disable(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS); private final ExecutionStore executionStore; private final DiagramStore diagramStore;