/*
 * 文 件 名:  ClientInit
 * 版    权:  浩鲸云计算科技股份有限公司
 * 描    述:  <描述>
 * 修 改 人:  lvwenbin
 * 修改时间:  2024/4/30
 * 跟踪单号:  <跟踪单号>
 * 修改单号:  <修改单号>
 * 修改内容:  <修改内容>
 */
package com.ruoyi.ems;

import com.ruoyi.ems.core.MqttTemplate;
import com.ruoyi.ems.handle.RootMsgHandler;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.boot.CommandLineRunner;
import org.springframework.stereotype.Component;

import javax.annotation.Resource;

/**
 * 连接初始化
 * <功能详细描述>
 *
 * @author lvwenbin
 * @version [版本号, 2024/4/30]
 * @see [相关类/方法]
 * @since [产品/模块版本]
 */
@Component
public class ClientInit implements CommandLineRunner {
    private static final Logger log = LoggerFactory.getLogger(ClientInit.class);

    @Resource
    @Qualifier("mqttTemplate")
    private MqttTemplate template;

    @Resource
    private RootMsgHandler rootMsgHandler;

    @Override
    public void run(String... args) {
        try {
            template.subscribe("/server/dlq/#", 0, rootMsgHandler);
            template.subscribe("/sc/dtu/rep/#", 0, rootMsgHandler);
        }
        catch (Exception e) {
            log.error("init fail!", e);
        }
    }
}