SpringBoot之退出服务(exit)时调用自定义的销毁方法
2016-08-14 14:20
459 查看
我们在工作中有时候可能会遇到这样场景,需要在退出容器的时候执行某些操作。SpringBoot中有两种方法可以供我们来选择(其实就是spring中我们常用的方式。只是destory-method是在XML中配置的,SpringBoot是去配置化。所以这里就不提这种方式了),一种是实现DisposableBean接口,一种是使用@PreDestroy注解。OK,下面我写两个例子看一下:
我们可以在需要的类的方法上添加这个注解,同样可以满足我们的需求。
DisposableBean接口
我们可以通过实现这个接口来在容器退出的时候执行某些操作。例子如下:package com.zkn.learnspringboot.destory; import org.springframework.beans.factory.DisposableBean; import org.springframework.boot.ExitCodeGenerator; import org.springframework.stereotype.Component; /** * Created by zkn on 2016/8/14. */ @Component public class TestImplDisposableBean implements DisposableBean, ExitCodeGenerator { @Override public void destroy() throws Exception { System.out.println("<<<<<<<<<<<我被销毁了......................>>>>>>>>>>>>>>>"); System.out.println("<<<<<<<<<<<我被销毁了......................>>>>>>>>>>>>>>>"); } @Override public int getExitCode() { return 5; } }@PreDestroy注解
我们可以在需要的类的方法上添加这个注解,同样可以满足我们的需求。
package com.zkn.learnspringboot.destory; import org.springframework.stereotype.Component; import javax.annotation.PreDestroy; /** * Created by zkn on 2016/8/14. */ @Component public class TestAnnotationPreDestroy { @PreDestroy public void destory() { System.out.println("我被销毁了、、、、、我是用的@PreDestory的方式、、、、、、"); System.out.println("我被销毁了、、、、、我是用的@PreDestory的方式、、、、、、"); } }
输出结果如下:
TIPS:
退出你可以通过Ide中的功能来退出。这里我启动的时候是在CMD中用jar启动的,启动命令如下:java -jar LearnSpringBoot-0.0.1-SNAPSHOT.jar,所以我在这里退出的时候是用的Ctrl+C来执行的退出操作。如果你用的mvn spring-boot:run来启动运行的话,可能不会执行销毁的操作。相关文章推荐
- (转)SpringBoot之退出服务(exit)时调用自定义的销毁方法
- IOS调用WCF提供的服务方法,但是方法的参数是WCF那边自定义的对象,这样有办法调用么,如果可以IOS应该怎么传参呢?请问有了解的么,
- 创建和调用自定义Web服务
- 怎样调用动态获取的自定义对象的方法
- AGS9.2中Toolbar的自定义ToolbarItem直接调用ADF的JS方法总结
- 在toolbarControl之外调用自定义command或tool的方法
- asp.net中用户自定义控件调用另外一个用户自定义控件中的方法
- [JavaScript]如何在服务端(Page.Write)调用自定义的JS方法
- 关于.NET中动态调用Web Service服务的方法心得
- .net强制退出主窗口的方法——Application.Exit()方法和Environment.Exit(0)方法
- 《WF编程》系列之18 - 触发事件与调用方法:服务合同 Service Contracts 3.2.3 触发事件与调用方法
- 自定义服务器控件通过反射调用页面方法
- Windows 自定义exe文件注册系统服务方法(Inber write)
- 有关AJAX异步调用web服务中带参数的方法的心得
- post方法调用web服务(改进)
- gridview中linkbutton调用自定义方法
- 怎样调用动态获取的自定义对象的方法
- 《WF编程》系列之19 - 触发事件与调用方法:服务以及工作流的实现
- C#调用Excel后无法退出Excel进程的解决方法
- [分享]在自定义的HttpHandler中调用.net默认HttpHandler的方法 转