yeg
2026-09-05 92f32acd847ea1700590bc669750f23ef499840e
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
package com.battery.business.runtime;
import java.io.IOException;
import org.springframework.boot.ApplicationRunner;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.*;
import com.battery.device.api.registry.*;
import com.battery.device.api.model.AdapterCapabilities;
import com.battery.device.simulator.*;
/** 开发模拟器装配可整体移除,业务和真实 BTS 不引用此配置。 */
@Configuration
@Profile("dev-simulator")
public class DevelopmentSimulatorConfig {
    @Bean(destroyMethod = "close")
    @Profile("dev-simulator")
    public BtsDevelopmentSimulator btsDevelopmentSimulator(BtsSimulatorStateStore stateStore,
            @Value("${battery.dev-simulator.port:15020}") int simulatorPort) throws IOException
    {
        return new BtsDevelopmentSimulator(simulatorPort, stateStore);
    }
 
    @Bean
    @Profile("dev-simulator")
    public ApplicationRunner registerDevelopmentSimulatorAdapter(DeviceAdapterRegistry registry,
            @Value("${battery.dev-simulator.port:15020}") int simulatorPort)
    {
        // 固定开发装配不进入 t_device_adapter,直接注册运行时实例。
        return arguments -> registry.synchronize(developmentSimulatorRuntimeConfig(simulatorPort));
    }
 
    private AdapterInstanceConfig developmentSimulatorRuntimeConfig(int simulatorPort)
    {
        return new AdapterInstanceConfig(BtsDevelopmentSimulator.ADAPTER_CODE, "BTS", BtsDevelopmentSimulator.HOST,
                simulatorPort, BtsDevelopmentSimulator.POLL_INTERVAL_MS,
                "Asia/Hong_Kong", true,
                new AdapterCapabilities(true, true, false, false));
    }
}