通过 @PreDestroy 和 bean 中配置 destroy-method 实现该功能

java 代码中:

   1: public class TestClass {

   2:     private ScheduledExecutorService scheduledExecutorService = Executors.newScheduledThreadPool(1);

   3:     public TestClass() {

   4:         scheduledExecutorService.scheduleAtFixedRate(task1, 1, 5, TimeUnit.MINUTES);

   5:     }

   6:  

   7:     Runnable task1 = new Runnable() {

   8:         public void run() {

   9:             System.out.println("task1 excuted.");

  10:         }

  11:     }

  12:  

  13:     @PreDestroy

  14:     public void DestroyMethod() {

  15:         scheduledExecutorService.shutdownNow();

  16:     }

  17: }

bean 配置文件中:

   1: <beans xmlns="http://www.springframework.org/schema/beans"

   2:     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:aop="http://www.springframework.org/schema/aop"

   3:     xmlns:tx="http://www.springframework.org/schema/tx" xmlns:task="http://www.springframework.org/schema/task"

   4:     xsi:schemaLocation="

   5:      http://www.springframework.org/schema/beans 

   6:      http://www.springframework.org/schema/beans/spring-beans-3.0.xsd

   7:      http://www.springframework.org/schema/tx 

   8:      http://www.springframework.org/schema/tx/spring-tx-3.0.xsd

   9:      http://www.springframework.org/schema/aop 

  10:      http://www.springframework.org/schema/aop/spring-aop-3.0.xsd

  11:      http://www.springframework.org/schema/task 

  12:      http://www.springframework.org/schema/task/spring-task-3.0.xsd">

  13:     

  14:     <bean id="testClass" class="com.xxx.xxx.TestClass" destroy-method="DestroyMethod">

  15:     </bean>

  16: </beans>

Spring 中,对象销毁前执行某些处理的方法的更多相关文章

  1. JavaEE开发之Spring中Bean的作用域、Init和Destroy方法以及Spring-EL表达式

    上篇博客我们聊了<JavaEE开发之Spring中的依赖注入以及AOP>,本篇博客我们就来聊一下Spring框架中的Bean的作用域以及Bean的Init和Destroy方法,然后在聊一下 ...

  2. (转)在网页中JS函数自动执行常用三种方法

    原文:http://blog.sina.com.cn/s/blog_6f6b4c3c0100nxx8.html 在网页中JS函数自动执行常用三种方法 在网页中JS函数自动执行常用三种方法 在HTML中 ...

  3. Spring中EmptyResultDataAccessException异常产生的原理及处理方法

    Spring中EmptyResultDataAccessException异常产生的原理及处理方法 Spring中使用JdbcTemplate的queryForObject方法,当查不到数据时会抛出如 ...

  4. spring中的传播性 个人认为就是对方法的设置 其作用能传播到里面包含的方法上

    spring中的传播性 个人认为就是对方法的设置 其作用能传播到里面包含的方法上

  5. 在网页中JS函数自动执行常用三种方法

    在网页中JS函数自动执行常用三种方法 在HTML中的Head区域中,有如下函数: <SCRIPT   LANGUAGE="JavaScript">   function ...

  6. spring中对象的注入方式

    平常的java开发中,程序员在某个类中需要依赖其它类的方法,则通常是new一个依赖类再调用类实例的方法,这种开发存在的问题是new的类实例不好统一管理,spring提出了依赖注入的思想,即依赖类不由程 ...

  7. 一次性讲清楚spring中bean的生命周期之一:getSingleton方法

    要想讲清楚spring中bean的生命周期,真的是不容易,以AnnotationConfigApplicationContext上下文为基础来讲解bean的生命周期,AnnotationConfigA ...

  8. 各个数据库中,查询前n条记录的方法

    SQL查询前10条的方法为: 1.select top X *  from table_name --查询前X条记录,可以改成需要的数字,比如前10条. 2.select top X *  from  ...

  9. Spring中使用注解 @Scheduled 执行定时任务

    来自:http://blog.51cto.com/dwf07223/1557145 注解@Scheduled 可以作为一个触发源添加到一个方法中,例如,以下的方法将以一个固定延迟时间5秒钟调用一次执行 ...

随机推荐

  1. 取汉子拼音首字母的C#和VB.Net方法

    转载http://blog.fwhyy.com/2012/03/take-the-first-initials-method-of-csharp-and-vbnet/

  2. mysql的注释

    一直没怎么用过mysql数据库, 今天用mysqldump备份了一下表结构, 记录一下遇到的问题 1. mysqldump默认导出没有事务和存储过程, 如果想导出这些可以用 -E 和 -R[--rou ...

  3. asp.net——初识多线程

    1.首先讲解一下什么是线程(该定义是参考线程的百度百科) 线程,有时被称为轻量级进程(Lightweight Process,LWP),是程序执行流的最小单元.一个标准的线程由线程ID,当前指令指针( ...

  4. CodeForces 709C Letters Cyclic Shift

    贪心. 肯定是两个$a$之间的那些字符都$-1$,没有$a$就全部$-1$.如果输入的串全是$a$,那么把最后一个$a$改成$z$. #pragma comment(linker, "/ST ...

  5. 【.NET】Repeater控件简单的数据绑定(有bool,日期,序号)

    前述: 讲的是Repeater,使用的是XML文件读取,没用ADO.NET ,而分页有很多方法,比如用PagedDataSource,或者通过参数在数据源写SQL语句来实现. 页面: <%@ I ...

  6. POJ 2104:K-th Number(整体二分)

    http://poj.org/problem?id=2104 题意:给出n个数和m个询问求区间第K小. 思路:以前用主席树做过,这次学整体二分来做.整体二分在yr大佬的指点下,终于大概懂了点了.对于二 ...

  7. centos7如何安装pandoc

    1 Install stack 1.1 Add the appropriate source repository: curl -sSL https://s3.amazonaws.com/downlo ...

  8. Layer 中自定义属性的动画

    原文:http://objccn.io/issue-12-2/ Layer 中自定义属性的动画     默认情况下,CALayer 及其子类的绝大部分标准属性都可以执行动画,无论是添加一个 CAAni ...

  9. 【实验室笔记】serialport的readline()方法

    在最近的小项目中,单片机中断优先级的问题,串口发送到上位机的数据有时会出现发送的数据被中断打断的问题. 于是,在上位机机上就容易出现错误,原来读取的方法是read()的方法,反复修改发送数据的格式依然 ...

  10. appium使用真机做安卓移动端自动化测试

    1.PC往手机上安装apk文件:adb install apk文件完整路径 2.获取app包名和activity的命令:使用aapt;aapt是sdk自带的一个工具,在sdk\builds-tools ...