原理:分析
建立一个包
com.rl.server
建立一个线程类
public clas TimeoutService implements Runnables{
public void run(){
try {
Thread.sleep(1000);//一秒执行一次
}catch(InterruptedException e){
e.printStackTrace();
}
}
}
因为总体要考虑数据库 所以要结合Springbean
在console 中建立一个
service 叫做 TimeoutServlet,因为是定时器说以是在service 初始化的时候建立的 即init的方法
加载web.xml更改配置让他随着服务器的启动而启动
<servlet>
<description>
</description>
<display-name>TimeoutServlet</display-name>
<servlet-name>TimeoutServlet</servlet-name>
<servlet-class>com.rl.servlet.TimeoutServlet</servlet-class>
<load-on-startup>2</load-on-startup>
</servlet><pre name="code" class="html"><servlet-mapping>
<servlet-name>TimeoutServlet</servlet-name>
<url-pattern>/TimeoutServlet</url-pattern>
</servlet-mapping>TimeoutServlet.java
package com.rl.servlet;
import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import org.springframework.web.context.WebApplicationContext;
import org.springframework.web.context.support.WebApplicationContextUtils;
import com.rl.server.TimeoutServer;
/**
* Servlet implementation class TimeoutServlet
*/
public class TimeoutServlet extends HttpServlet {
@Override
public void init(ServletConfig config) throws ServletException {
WebApplicationContext ctx = WebApplicationContextUtils.getWebApplicationContext(config.getServletContext());
new Thread(new TimeoutServer(ctx)).start();
}
}
实现
原理:分析
建立一个包
com.rl.server
建立一个线程类
public clas TimeoutService implements Runnables{
public void run(){
try {
Thread.sleep(1000);//一秒执行一次
}catch(InterruptedException e){
e.printStackTrace();
}
}
}
因为总体要考虑数据库 所以要结合Springbean
在console 中建立一个
service 叫做 TimeoutServlet,因为是定时器说以是在service 初始化的时候建立的 即init的方法
加载web.xml更改配置让他随着服务器的启动而启动
<servlet>
<description>
</description>
<display-name>TimeoutServlet</display-name>
<servlet-name>TimeoutServlet</servlet-name>
<servlet-class>com.rl.servlet.TimeoutServlet</servlet-class>
<load-on-startup>2</load-on-startup>
</servlet><pre name="code" class="html"><servlet-mapping>
<servlet-name>TimeoutServlet</servlet-name>
<url-pattern>/TimeoutServlet</url-pattern>
</servlet-mapping>TimeoutServlet.java
<p>原理:分析</p><p>建立一个包</p><p>com.rl.server</p><p>建立一个线程类</p><p></p><pre name="code" class="java">public clas TimeoutService implements Runnables{
public void run(){
try {
Thread.sleep(1000);//一秒执行一次
}catch(InterruptedException e){
e.printStackTrace();
}
}
}
因为总体要考虑数据库 所以要结合Springbean
在console 中建立一个
service 叫做 TimeoutServlet,因为是定时器说以是在service 初始化的时候建立的 即init的方法
加载web.xml更改配置让他随着服务器的启动而启动
<servlet>
<description>
</description>
<display-name>TimeoutServlet</display-name>
<servlet-name>TimeoutServlet</servlet-name>
<servlet-class>com.rl.servlet.TimeoutServlet</servlet-class>
<load-on-startup>2</load-on-startup>
</servlet><pre name="code" class="html"><servlet-mapping>
<servlet-name>TimeoutServlet</servlet-name>
<url-pattern>/TimeoutServlet</url-pattern>
</servlet-mapping>
TimeoutServlet.java
package com.rl.server;
import java.util.Date;
import org.springframework.context.ApplicationContext;
import com.rl.service.EbOrderService;
public class TimeoutServer implements Runnable {
public TimeoutServer(ApplicationContext ctx){<span style="white-space:pre"> </span>//构造器
this.ctx = ctx;
orderService = (EbOrderService) ctx.getBean("ebOrderServiceImpl");
}
ApplicationContext ctx;
EbOrderService orderService;
public void run() {
while(true){
try {
long times = new Date().getTime() - 30*1000;
orderService.listTimeoutOrder(new Date(times) , "noPaidOrderer");
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
}
6913

被折叠的 条评论
为什么被折叠?



