You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

35 lines
1.1 KiB

3 years ago
package com.dji.sample.component;
3 years ago
import com.dji.sample.component.redis.RedisConst;
import com.dji.sample.component.redis.RedisOpsUtils;
3 years ago
import com.dji.sample.manage.service.IDeviceService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.CommandLineRunner;
import org.springframework.stereotype.Component;
/**
* @author sean.zhou
* @date 2021/11/24
* @version 0.1
*/
@Component
public class ApplicationBootInitial implements CommandLineRunner {
@Autowired
private IDeviceService deviceService;
/**
3 years ago
* Subscribe to the devices that exist in the redis when the program starts,
3 years ago
* to prevent the data from being different from the pilot side due to program interruptions.
* @param args
* @throws Exception
*/
@Override
public void run(String... args) throws Exception {
3 years ago
int start = RedisConst.DEVICE_ONLINE_PREFIX.length();
RedisOpsUtils.getAllKeys(RedisConst.DEVICE_ONLINE_PREFIX + "*")
3 years ago
.forEach(key -> deviceService.subscribeTopicOnline(key.substring(start)));
3 years ago
}
}