Solon v3.5.2

问题:如何获取应用程序的停止事件?

</> markdown

需要对 《应用生命周期》 有所了解。

1、基于容器生命周期的 stop 接口获取事件

import org.noear.solon.annotation.Component;
import org.noear.solon.core.bean.LifecycleBean;

@Component
public class LifecycleBeanImpl implements LifecycleBean {
    @Override
    public void stop(){
        //容器停止时(一般也是应用程序停止时)
    }
}

2、基于事件订阅

import org.noear.solon.annotation.Component;
import org.noear.solon.core.event.AppStopEndEvent;
import org.noear.solon.core.event.EventListener;

@Component
public class  AppStopEndEventListener implements EventListener<AppStopEndEvent> {
    @Override
    public void onEvent(AppStopEndEvent event) throws Throwable {
        //event.app(); //获取应用对象
    }
}