package com.battery.business.service.impl; import org.springframework.boot.context.event.ApplicationReadyEvent; import org.springframework.context.event.EventListener; import org.springframework.scheduling.annotation.Scheduled; import org.springframework.stereotype.Component; import com.battery.business.service.IDeviceAdapterService; /** * 在单采集进程内恢复启用实例,并按各自周期执行只读发现。 * 不限定 profile:真实来源的发现与接收要在非开发 profile 下运行。 */ @Component public class DeviceAdapterRuntimeCoordinator { private final IDeviceAdapterService service; public DeviceAdapterRuntimeCoordinator(IDeviceAdapterService service) { this.service = service; } @EventListener(ApplicationReadyEvent.class) public void restoreEnabledAdapters() { service.synchronizeEnabledAdapters(); } @Scheduled(fixedDelay = 1000) public void pollDueAdapters() { service.pollDueAdapters(); } }