您的位置:首页 > 编程语言 > Java开发

spring task小结

2016-05-06 14:13 567 查看
        趁着工作闲暇之余,学学spring task,spring task是spring 3.后的一个才有的东西,这个查自网络,没有细细考究,简单做了一下,感觉与spring 注解结合,还是挺好用的,也挺简单。记于此,以备不时之需。如有错误,承蒙赐教。

        这个过程中,考虑到以前自己导包,包的版本以及与其他框架结合出问题较多,所以选择用maven来做,pox.xml这个直接网上搜了一个:

       <dependency>

            <groupId>org.springframework</groupId>

            <artifactId>spring-context</artifactId>

            <version>3.1.1.RELEASE</version>

        </dependency>

        <dependency>

            <groupId>org.springframework</groupId>

            <artifactId>spring-context-support</artifactId>

            <version>3.1.1.RELEASE</version>

        </dependency>

        <dependency>

            <groupId>org.springframework</groupId>

            <artifactId>spring-tx</artifactId>

            <version>3.1.1.RELEASE</version>

        </dependency>

        <dependency>  

            <groupId>org.springframework</groupId>  

            <artifactId>spring-web</artifactId>  

            <version>3.1.1.RELEASE</version>  

        </dependency> 

      然后在application.xml中加上:

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

以及:

        http://www.springframework.org/schema/task
        http://www.springframework.org/schema/task/spring-task-3.0.xsd
考虑到注解加上:

 <!--注解说明 -->

    <context:annotation-config />

    <!-- Spring自动扫描包 -->

    <context:component-scan base-package="包路径" />

任务的配置:    

    <task:executor id="executor" pool-size="5" />

    <task:scheduler id="scheduler" pool-size="10" />

    <task:annotation-driven executor="executor" scheduler="scheduler" />

其中后面的:pool-size是指线程池的大小。

   对于定时执行的类与方法:例如

  @Component

public class TestdaoImp  implements Testdao{

    @Scheduled(cron="0/1 * *  * * ? ")
@Override
public void show() {
System.out.println("lov");

}

}

其中@Component表示这是一个组件, @Scheduled(cron="0/1 * *  * * ? ")是任务执行的频率,主要要设置cron这个的值,这个值是任务也就是方法多久执行一次。关于如何设置这个值,可以网上搜索spring task  cron设置,就可以找到设置的方法了。 

      不忘初心,风雨无阻。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: