一、功能来源(为什么会有这个功能)
答:一个产品,任何时候都有可能会被购买,即:任何时间都有可能产生满标产品。
然后把满标产品找出来,生成收益记录,这一步,用一个定时器。(在几点到几点的规定时间去生成收益记录)
项目中:p2p-timer 定时器 完成的功能:生成收益计划
p2p-timer 也是一个服务消费者,按照设定的周期自动地去执行,也要调p2p-dataservice里面所提供的服务
工具:Spring提供的spring task定时器
工具介绍:Spring任务调度之Spring-Task。Spring3.0以后自主开发的定时任务工具,spring task,可以将它比作一个轻量级的Quartz,而且使用起来很简单,除spring相关的包外不需要额外的包,而且支持注解和配置文件两种形式.
二、项目中具体是怎么做的?
1、pom.xml中添加依赖
:spring zookeeper log4j dubbo p2p的接口工程、依赖工程
<!--P2P的接口工程-->
<dependency>
<groupId>com.bjpowernode.p2p</groupId>
<artifactId>p2p-exterface</artifactId>
<version>1.0.0</version>
</dependency>
<!--p2p-common公共工程-->
<dependency>
<groupId>com.bjpowernode.p2p</groupId>
<artifactId>p2p-common</artifactId>
<version>1.0.0</version>
</dependency>
2、配置文件
- resources里有:
applicationContext.xml 总配置文件
applicationContext-dubbo-consumer.xml 服务消费者配置
applicationContext-task.xml spring-task配置文件
log4j.properties
- webapp下的WEB_INF下的web.xml:通过监听器加载spring总配置文件,
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://java.sun.com/xml/ns/javaee"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
id="dataservice" version="3.0">
<display-name>timer application</display-name>
<!-- spring监听器加载applicationContext.xml配置文件 -->
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:applicationContext.xml</param-value>
</context-param>
<listener>
<listener-class>org.springframew