81,122
社区成员




<update id="refreshMarketMoney">
update usertable set umoney=umoney+100
</update>
package com.UserManage.common.timers;
import java.util.Calendar;
import java.util.TimerTask;
import javax.servlet.ServletContext;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import jxproduct.controller.simulatedTrading.*;
import com.UserManage.dao.SqlDao;
public class userTaskCenter extends TimerTask {
@Autowired
private SqlDao userDao;
public void updateUserTimers() {
//下面的SQl无参数,但 定时启动,报 空指针错误
//对此不熟悉,猜可能是userDao,没有初始化
userDao.update("com.UserManage.mapper.refreshMarketMoney");
}
@Override
public void run() {
updateUserTimers();
}
}
<bean id="timerTask" class="com.UserManage.common.timers.userTaskCenter"></bean>
<bean id="repeatingtriger" class="org.springframework.scheduling.timer.ScheduledTimerTask">
<property name="delay">
<value>5000</value>
</property>
<property name="period">
<value>3000</value>
</property>
<property name="timerTask">
<ref local="timerTask" />
</property>
</bean>
<bean id="schedule"
class="org.springframework.scheduling.timer.TimerFactoryBean">
<property name="scheduledTimerTasks">
<list>
<ref local="repeatingtriger" />
</list>
</property>
</bean>
public void contextInitialized(ServletContextEvent event) {
timer = new Timer(true);
event.getServletContext().log("定时器启动");
timer.schedule(new OrderTask(event.getServletContext()), 0,
INTERVAL_TIME);
event.getServletContext().log("添加到任务调度表");
}
public OrderTask(ServletContext servletContext) {
this.orderService = (OrderService) BaseUtilSupport.SpringUtil.getBean(
servletContext, "orderService");
params = new HashMap<String, Object>();
params.put("status", 1);
this.mobanService = (MobanService) BaseUtilSupport.SpringUtil.getBean(
servletContext, "mobanService");
this.smsService = (SmsService) BaseUtilSupport.SpringUtil.getBean(
servletContext, "smsService");
}