From f80c47df0fa54550cb8244784a9c6af762b26881 Mon Sep 17 00:00:00 2001 From: lingniu Date: Wed, 1 Jul 2026 08:32:51 +0800 Subject: [PATCH] refactor: reject legacy jt808 mileage state store --- .../config/VehicleStatAutoConfiguration.java | 7 +++++++ .../config/VehicleStatAutoConfigurationTest.java | 10 +++++----- 2 files changed, 12 insertions(+), 5 deletions(-) diff --git a/modules/services/vehicle-stat-service/src/main/java/com/lingniu/ingest/vehiclestat/config/VehicleStatAutoConfiguration.java b/modules/services/vehicle-stat-service/src/main/java/com/lingniu/ingest/vehiclestat/config/VehicleStatAutoConfiguration.java index f97e7a71..4bfdffa6 100644 --- a/modules/services/vehicle-stat-service/src/main/java/com/lingniu/ingest/vehiclestat/config/VehicleStatAutoConfiguration.java +++ b/modules/services/vehicle-stat-service/src/main/java/com/lingniu/ingest/vehiclestat/config/VehicleStatAutoConfiguration.java @@ -28,6 +28,13 @@ import java.time.ZoneId; @ConditionalOnProperty(prefix = "lingniu.ingest.vehicle-stat", name = "enabled", havingValue = "true") public class VehicleStatAutoConfiguration { + @Bean + @ConditionalOnProperty(prefix = "lingniu.ingest.vehicle-stat.jt808", name = "state-store") + public Object rejectedLegacyJt808MileageStateStore() { + throw new IllegalStateException( + "vehicle-stat.jt808.state-store has been removed; JT808 daily mileage uses vehicle_stat_metric only"); + } + @Bean @ConditionalOnBean(JdbcTemplate.class) @ConditionalOnMissingBean diff --git a/modules/services/vehicle-stat-service/src/test/java/com/lingniu/ingest/vehiclestat/config/VehicleStatAutoConfigurationTest.java b/modules/services/vehicle-stat-service/src/test/java/com/lingniu/ingest/vehiclestat/config/VehicleStatAutoConfigurationTest.java index c700558c..059dbf03 100644 --- a/modules/services/vehicle-stat-service/src/test/java/com/lingniu/ingest/vehiclestat/config/VehicleStatAutoConfigurationTest.java +++ b/modules/services/vehicle-stat-service/src/test/java/com/lingniu/ingest/vehiclestat/config/VehicleStatAutoConfigurationTest.java @@ -74,17 +74,17 @@ class VehicleStatAutoConfigurationTest { } @Test - void ignoresLegacyStateStorePropertyAndUsesMetricRepositoryOnly() { + void rejectsLegacyStateStorePropertyInsteadOfCreatingHiddenRuntimeMode() { contextRunner .withBean(JdbcTemplate.class, () -> mock(JdbcTemplate.class)) .withPropertyValues( "lingniu.ingest.vehicle-stat.enabled=true", "lingniu.ingest.vehicle-stat.jt808.enabled=true", "lingniu.ingest.vehicle-stat.jt808.state-store=memory") - .run(context -> { - assertThat(context).hasSingleBean(Jt808MileageStreamProcessor.class); - assertThat(context).hasSingleBean(VehicleStatEnvelopeIngestor.class); - }); + .run(context -> assertThat(context.getStartupFailure()) + .hasRootCauseInstanceOf(IllegalStateException.class) + .hasMessageContaining("vehicle-stat.jt808.state-store has been removed") + .hasMessageContaining("vehicle_stat_metric")); } @Test