From 59e8315fe6084de545aab561f6eced7e088c5be1 Mon Sep 17 00:00:00 2001 From: lingniu Date: Wed, 1 Jul 2026 07:55:20 +0800 Subject: [PATCH] refactor: avoid file mapper in tdengine history path --- .../eventhistory/EventHistoryEnvelopeIngestor.java | 12 +++++------- .../config/EventHistoryAutoConfiguration.java | 6 +++--- .../EventHistoryEnvelopeIngestorTest.java | 6 ++---- .../config/EventHistoryAutoConfigurationTest.java | 2 +- 4 files changed, 11 insertions(+), 15 deletions(-) diff --git a/modules/services/event-history-service/src/main/java/com/lingniu/ingest/eventhistory/EventHistoryEnvelopeIngestor.java b/modules/services/event-history-service/src/main/java/com/lingniu/ingest/eventhistory/EventHistoryEnvelopeIngestor.java index 07bc47b9..04bf9a1f 100644 --- a/modules/services/event-history-service/src/main/java/com/lingniu/ingest/eventhistory/EventHistoryEnvelopeIngestor.java +++ b/modules/services/event-history-service/src/main/java/com/lingniu/ingest/eventhistory/EventHistoryEnvelopeIngestor.java @@ -35,15 +35,13 @@ public final class EventHistoryEnvelopeIngestor implements EnvelopeBatchIngestor this(store, mapper, null); } - public EventHistoryEnvelopeIngestor(TelemetryEnvelopeRecordMapper mapper, - TdengineHistoryWriter tdengineWriter) { - this(mapper, tdengineWriter, false); + public EventHistoryEnvelopeIngestor(TdengineHistoryWriter tdengineWriter) { + this(tdengineWriter, false); } - public EventHistoryEnvelopeIngestor(TelemetryEnvelopeRecordMapper mapper, - TdengineHistoryWriter tdengineWriter, + public EventHistoryEnvelopeIngestor(TdengineHistoryWriter tdengineWriter, boolean telemetryFieldsEnabled) { - this(null, mapper, tdengineWriter, false, telemetryFieldsEnabled); + this(null, null, tdengineWriter, false, telemetryFieldsEnabled); } public EventHistoryEnvelopeIngestor(EventFileStore store, @@ -69,7 +67,7 @@ public final class EventHistoryEnvelopeIngestor implements EnvelopeBatchIngestor throw new IllegalArgumentException("store must not be null"); } } - if (mapper == null) { + if (store != null && mapper == null) { throw new IllegalArgumentException("mapper must not be null"); } this.store = store; diff --git a/modules/services/event-history-service/src/main/java/com/lingniu/ingest/eventhistory/config/EventHistoryAutoConfiguration.java b/modules/services/event-history-service/src/main/java/com/lingniu/ingest/eventhistory/config/EventHistoryAutoConfiguration.java index f1dba5dd..882d6607 100644 --- a/modules/services/event-history-service/src/main/java/com/lingniu/ingest/eventhistory/config/EventHistoryAutoConfiguration.java +++ b/modules/services/event-history-service/src/main/java/com/lingniu/ingest/eventhistory/config/EventHistoryAutoConfiguration.java @@ -53,6 +53,7 @@ import java.nio.file.Path; public class EventHistoryAutoConfiguration { @Bean + @ConditionalOnBean(EventFileStore.class) @ConditionalOnMissingBean public TelemetryEnvelopeRecordMapper telemetryEnvelopeRecordMapper() { return new TelemetryEnvelopeRecordMapper(); @@ -70,11 +71,10 @@ public class EventHistoryAutoConfiguration { @Bean @ConditionalOnBean(TdengineHistoryWriter.class) @ConditionalOnMissingBean - public EventHistoryEnvelopeIngestor tdengineEventHistoryEnvelopeIngestor(TelemetryEnvelopeRecordMapper mapper, - TdengineHistoryWriter writer, + public EventHistoryEnvelopeIngestor tdengineEventHistoryEnvelopeIngestor(TdengineHistoryWriter writer, @Value("${lingniu.ingest.tdengine-history.telemetry-fields-enabled:false}") boolean telemetryFieldsEnabled) { - return new EventHistoryEnvelopeIngestor(mapper, writer, telemetryFieldsEnabled); + return new EventHistoryEnvelopeIngestor(writer, telemetryFieldsEnabled); } @Bean diff --git a/modules/services/event-history-service/src/test/java/com/lingniu/ingest/eventhistory/EventHistoryEnvelopeIngestorTest.java b/modules/services/event-history-service/src/test/java/com/lingniu/ingest/eventhistory/EventHistoryEnvelopeIngestorTest.java index 31f2d2be..fd89b197 100644 --- a/modules/services/event-history-service/src/test/java/com/lingniu/ingest/eventhistory/EventHistoryEnvelopeIngestorTest.java +++ b/modules/services/event-history-service/src/test/java/com/lingniu/ingest/eventhistory/EventHistoryEnvelopeIngestorTest.java @@ -186,8 +186,7 @@ class EventHistoryEnvelopeIngestorTest { @Test void tryIngestCanWriteTdengineFactsWithoutEventFileStore() { CapturingTdengineWriter tdengineWriter = new CapturingTdengineWriter(); - EventHistoryEnvelopeIngestor ingestor = new EventHistoryEnvelopeIngestor( - new TelemetryEnvelopeRecordMapper(), tdengineWriter); + EventHistoryEnvelopeIngestor ingestor = new EventHistoryEnvelopeIngestor(tdengineWriter); EnvelopeIngestResult result = ingestor.tryIngest( jt808LocationEnvelope("jt808-location-1", "frame-jt808-1", "013800000001").toByteArray()); @@ -203,8 +202,7 @@ class EventHistoryEnvelopeIngestorTest { @Test void tryIngestCanWriteTelemetryFieldFactsWhenExplicitlyEnabled() { CapturingTdengineWriter tdengineWriter = new CapturingTdengineWriter(); - EventHistoryEnvelopeIngestor ingestor = new EventHistoryEnvelopeIngestor( - new TelemetryEnvelopeRecordMapper(), tdengineWriter, true); + EventHistoryEnvelopeIngestor ingestor = new EventHistoryEnvelopeIngestor(tdengineWriter, true); EnvelopeIngestResult result = ingestor.tryIngest( jt808LocationEnvelope("jt808-location-1", "frame-jt808-1", "013800000001").toByteArray()); diff --git a/modules/services/event-history-service/src/test/java/com/lingniu/ingest/eventhistory/config/EventHistoryAutoConfigurationTest.java b/modules/services/event-history-service/src/test/java/com/lingniu/ingest/eventhistory/config/EventHistoryAutoConfigurationTest.java index 754bb8d4..e213c791 100644 --- a/modules/services/event-history-service/src/test/java/com/lingniu/ingest/eventhistory/config/EventHistoryAutoConfigurationTest.java +++ b/modules/services/event-history-service/src/test/java/com/lingniu/ingest/eventhistory/config/EventHistoryAutoConfigurationTest.java @@ -100,7 +100,7 @@ class EventHistoryAutoConfigurationTest { .withPropertyValues("lingniu.ingest.event-history.enabled=true") .run(context -> { assertThat(context).doesNotHaveBean(EventFileStore.class); - assertThat(context).hasSingleBean(TelemetryEnvelopeRecordMapper.class); + assertThat(context).doesNotHaveBean(TelemetryEnvelopeRecordMapper.class); assertThat(context).hasSingleBean(EventHistoryEnvelopeIngestor.class); assertThat(context.getBeansOfType(EnvelopeConsumerProcessor.class)) .containsOnlyKeys(