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