refactor: avoid file mapper in tdengine history path

This commit is contained in:
lingniu
2026-07-01 07:55:20 +08:00
parent 56a6c01f95
commit 59e8315fe6
4 changed files with 11 additions and 15 deletions

View File

@@ -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;

View File

@@ -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

View File

@@ -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());

View File

@@ -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(