| | |
| | | import org.springframework.scheduling.annotation.EnableScheduling; |
| | | import com.ruoyi.device.bts.BtsDeviceAdapterFactory; |
| | | import com.ruoyi.device.bts.BtsDevelopmentSimulator; |
| | | import com.ruoyi.device.model.AdapterCapabilities; |
| | | import com.ruoyi.device.registry.AdapterInstanceConfig; |
| | | import com.ruoyi.device.registry.DeviceAdapterRegistry; |
| | | import com.ruoyi.system.domain.TDeviceAdapter; |
| | | import com.ruoyi.system.service.IDeviceAdapterService; |
| | | import com.ruoyi.device.simulator.BtsSimulatorStateStore; |
| | | |
| | | /** 装配单进程设备适配器运行时。 */ |
| | | @Configuration |
| | |
| | | } |
| | | |
| | | @Bean(destroyMethod = "close") |
| | | public BtsDevelopmentSimulator btsDevelopmentSimulator() throws IOException |
| | | public BtsDevelopmentSimulator btsDevelopmentSimulator(BtsSimulatorStateStore stateStore) throws IOException |
| | | { |
| | | return new BtsDevelopmentSimulator(BtsDevelopmentSimulator.DEFAULT_PORT); |
| | | return new BtsDevelopmentSimulator(BtsDevelopmentSimulator.DEFAULT_PORT, stateStore); |
| | | } |
| | | |
| | | @Bean |
| | | public ApplicationRunner registerDevelopmentSimulatorAdapter(IDeviceAdapterService service) |
| | | public ApplicationRunner registerDevelopmentSimulatorAdapter(DeviceAdapterRegistry registry) |
| | | { |
| | | // ApplicationRunner 先于 ApplicationReadyEvent,确保恢复启用适配器时 dev-sim 已存在。 |
| | | return arguments -> service.ensureManagedAdapter(developmentSimulatorAdapter()); |
| | | // 固定开发装配不进入 t_device_adapter,直接注册运行时实例。 |
| | | return arguments -> registry.synchronize(developmentSimulatorRuntimeConfig()); |
| | | } |
| | | |
| | | private TDeviceAdapter developmentSimulatorAdapter() |
| | | private AdapterInstanceConfig developmentSimulatorRuntimeConfig() |
| | | { |
| | | TDeviceAdapter adapter = new TDeviceAdapter(); |
| | | adapter.setAdapterCode("dev-sim"); |
| | | adapter.setAdapterName("dev-sim BTS 模拟器"); |
| | | adapter.setAdapterType("BTS"); |
| | | adapter.setHost(BtsDevelopmentSimulator.HOST); |
| | | adapter.setPort(BtsDevelopmentSimulator.DEFAULT_PORT); |
| | | adapter.setPollIntervalMs(5000); |
| | | adapter.setTimezoneId("Asia/Hong_Kong"); |
| | | adapter.setReadOnly(true); |
| | | adapter.setCapabilities("{\"discovery\":true,\"realtimeObservation\":true," |
| | | + "\"historyDownload\":false,\"control\":false}"); |
| | | adapter.setRemark("临时人工验收设备"); |
| | | return adapter; |
| | | return new AdapterInstanceConfig(BtsDevelopmentSimulator.ADAPTER_CODE, "BTS", BtsDevelopmentSimulator.HOST, |
| | | BtsDevelopmentSimulator.DEFAULT_PORT, BtsDevelopmentSimulator.POLL_INTERVAL_MS, |
| | | "Asia/Hong_Kong", true, |
| | | new AdapterCapabilities(true, true, false, false)); |
| | | } |
| | | } |