Java 事实上: 在任务中实现可运行接口(确保代码是线程安全的!) 获取ThreadPoolTaskSchedulerbean
按如下方式安排您的任务: scheduler.schedule(任务,新的CronTrigger(“*15 9-17**MON-FRI”)Java 事实上: 在任务中实现可运行接口(确保代码是线程安全的!) 获取ThreadPoolTaskSchedulerbean,java,spring,hibernate,Java,Spring,Hibernate,按如下方式安排您的任务: scheduler.schedule(任务,新的CronTrigger(“*15 9-17**MON-FRI”) 是的,我正在使用spring。我将在哪里使用@Scheduled(cron=“0 12**?”)?在我的控制器或DAO类中。编辑了我的帖子。您需要创建一个主类,在其中加载spring配置文件。在注入dao对象的任何位置创建一个方法。创建一个方法,用@Scheduled注释它,并调用您的Dao方法。我已经在我的控制器中创建了一个方法。我想问一下这个方法是否会出
是的,我正在使用spring。我将在哪里使用@Scheduled(cron=“0 12**?”)?在我的控制器或DAO类中。编辑了我的帖子。您需要创建一个主类,在其中加载spring配置文件。在注入dao对象的任何位置创建一个方法。创建一个方法,用@Scheduled注释它,并调用您的Dao方法。我已经在我的控制器中创建了一个方法。我想问一下这个方法是否会出现在我的void main()方法中。如果应用程序仍在服务器上运行,请与我的控制器联系。那么就不需要main()方法了。您的spring配置需要加载,仅此而已。只要把@Scheduled放在上面就行了。使用此注释@Scheduled(fixedDelay=30000)进行快速调试。将在每30秒后触发该方法。我现在创建了main()方法如何将spring配置加载到该方法中?是的,我正在使用spring。我将在哪里使用@Scheduled(cron=“0 12**?”)?在我的控制器或DAO类中。编辑了我的帖子。您需要创建一个主类,在其中加载spring配置文件。在注入dao对象的任何位置创建一个方法。创建一个方法,用@Scheduled注释它,并调用您的Dao方法。我已经在我的控制器中创建了一个方法。我想问一下这个方法是否会出现在我的void main()方法中。如果应用程序仍在服务器上运行,请与我的控制器联系。那么就不需要main()方法了。您的spring配置需要加载,仅此而已。只要把@Scheduled放在上面就行了。使用此注释@Scheduled(fixedDelay=30000)进行快速调试。将在每30秒后触发该方法。我现在创建了main()方法如何将spring配置加载到该方法中?是的,我正在使用spring。我将在哪里使用@Scheduled(cron=“0 12**?”)?在我的控制器或DAO类中。编辑了我的帖子。您需要创建一个主类,在其中加载spring配置文件。在注入dao对象的任何位置创建一个方法。创建一个方法,用@Scheduled注释它,并调用您的Dao方法。我已经在我的控制器中创建了一个方法。我想问一下这个方法是否会出现在我的void main()方法中。如果应用程序仍在服务器上运行,请与我的控制器联系。那么就不需要main()方法了。您的spring配置需要加载,仅此而已。只要把@Scheduled放在上面就行了。使用此注释@Scheduled(fixedDelay=30000)进行快速调试。将在每30秒后触发该方法。我现在创建了main()方法如何将spring配置加载到该方法中?是的,我正在使用spring。我将在哪里使用@Scheduled(cron=“0 12**?”)?在我的控制器或DAO类中。编辑了我的帖子。您需要创建一个主类,在其中加载spring配置文件。在注入dao对象的任何位置创建一个方法。创建一个方法,用@Scheduled注释它,并调用您的Dao方法。我已经在我的控制器中创建了一个方法。我想问一下这个方法是否会出现在我的void main()方法中。如果应用程序仍在服务器上运行,请与我的控制器联系。那么就不需要main()方法了。您的spring配置需要加载,仅此而已。只要把@Scheduled放在上面就行了。使用此注释@Scheduled(fixedDelay=30000)进行快速调试。我创建了main()方法,现在如何将spring配置加载到该方法中?
@SuppressWarnings({ "unchecked", "rawtypes" })
public List<Result> getPostList() throws Exception {
session = sessionFactory.openSession();
tx = session.beginTransaction();
Criteria cr = session.createCriteria(Post.class);
ProjectionList projList = Projections.projectionList();
projList.add(Projections.sum("val"), "topValue");
projList.add(Projections.groupProperty("userId"), "uid");
cr.addOrder(Order.desc("topValue"));
cr.setProjection(projList);
cr.setResultTransformer(Transformers.aliasToBean(Result.class));
List<Result> postList = cr.list();
// please make sure that you are using the class field name rather than database field name in below query.
String updateHql = "update Result set topValue = :topValue where id = :uid";
Query query = null;
int count = 1;
for(Result result : postList){
query=session.createQuery(updateHql);
// query.setLong("topValue", result.getTopValue());
query.setLong("topValue", count);
query.setLong("uid", result.getUid());
count++;
query.executeUpdate();
session.flush();
}
session.flush();
tx.commit();
return postList;
}
@RequestMapping(value = "/posts", method = RequestMethod.GET)
public @ResponseBody
List<Result> getEmployee() {
List<Result> postList = null;
try {
postList = profileService.getPostList();
} catch (Exception e) {
e.printStackTrace();
}
return postList;
}
<task:scheduler id="scheduler" pool-size="10" />
<task:executor id="executor" pool-size="10" />
<task:annotation-driven scheduler="scheduler" executor="executor" />
<context:component-scan annotation-config="true" base-package="" />
@Scheduled(cron="0 0 12 * * ?")
public void scheduledTask(){
}