我有一个@scheduled函数,该函数创建一个查询以删除数据库中的旧项目。类和函数是这样的:
public BookDaoImpl(SessionFactory sessionFactory) {
super(sessionFactory);
}
...
@Scheduled(fixedDelay = 5000)
public void run() throws InterruptedException {
String query = "delete from Food where expires < NOW()";
currentSession().createQuery(query);
Thread.sleep(3000);
}
我尝试使用applicatinContext.xml运行它:
<?xml version="1.0" encoding="UTF-8"?>
<beans
xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:task="http://www.springframework.org/schema/task"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
http://www.springframework.org/schema/task http://www.springframework.org/schema/task/spring-task-3.0.xsd">
<task:annotation-driven />
<bean id="BookDaoImpl" class="com.howtodojava.rest.dao.BookDaoImpl"/>
这行App.java运行函数:
ClassPathXmlApplicationContext ctx =new ClassPathXmlApplicationContext("applicationContext.xml");
当我没有添加构造器以便使用currentSession
创建查询部分时,它曾经可以正常工作。
感谢您的提前帮助。