VerticleLifeTime.java 889 Bytes
package com.diligrp.mqtt.vertx;

import com.diligrp.mqtt.vertx.verticle.MqttVerticle;
import io.vertx.core.Vertx;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.DisposableBean;
import org.springframework.boot.CommandLineRunner;
import org.springframework.stereotype.Component;

/**
 * @Author: zhangmeiyang
 * @CreateTime: 2025-12-26 17:16
 * @Version: todo
 */
@Component
@Slf4j
public class VerticleLifeTime implements CommandLineRunner, DisposableBean {

    private final Vertx vertx;

    public VerticleLifeTime(Vertx vertx) {
        this.vertx = vertx;
    }

    @Override
    public void run(String... args) throws Exception {
        vertx.deployVerticle(new MqttVerticle());
        log.info("MqttVerticle deployed");
    }

    @Override
    public void destroy() throws Exception {
        vertx.close();
        log.info("Vertx closed");
    }
}