Tag: 预定任务

你能用Java重复执行一个任务吗?

是否可以每年,每分钟,每秒,每年重复执行一项任务? 我希望它像守护进程一样运行。 我需要一个计划任务来连续搜索数据库; 如果它找到某个值,那么它应该执行另一个任务。

使用ExecutorService计划的任务

我想在JAVA中使用ExecutorService来安排每5分钟插入数据库。 这是我想要执行它的任务: MyClass{ a counter that count a handled data received from a Thread I receive usually 300 data line/second Apply a treatment on these data and keep the results in the memory every five minutes { update the database with the counters saved in memory* } } 基本上,每当他从后台运行的线程获取数据时,它就会调用该任务。 因为我有超过300个数据/秒,所以不可能以这种方式使用它。 所以我正在尝试做id来处理收到的任务并在内存中保留一个计数器并且每5分钟更新一次数据库。 我的问题是,是否可以使用这些java函数ScheduledExecutorService来做到这一点,我们怎么做呢(我不想在任务上阻止我的JAVA应用程序5分钟,我希望该应用程序正常运行但不执行每次都有任务,如果你能告诉我一些这些function的用法,我很感激吗?

ScheduledExecutorService与使用Thread.sleep()滚动自己的Runnable之间的区别

使用ScheduledExecutorService的scheduleAtFixedRate()运行一段代码而不是创建一个新的Runnable有一个好处,它有一个永久循环与Thread.sleep() ,导致线程为所需的内容hibernate期? 使用其中一种方法可以获得性能提升吗?

一旦我认为它已经完成,如何在ScheduledThreadPoolExecutor中停止任务

我有一个ScheduledThreadPoolExecutor,我用它来安排一个以固定速率运行的任务。 我希望任务以指定的延迟运行最多10次,直到它“成功”。 在那之后,我不希望重试任务。 所以基本上我需要停止运行计划任务,当我希望它被停止时,但不关闭ScheduledThreadPoolExecutor。 知道我是怎么做的吗? 这是一些伪代码 – public class ScheduledThreadPoolExecutorTest { public static ScheduledThreadPoolExecutor executor = new ScheduledThreadPoolExecutor(15); // no multiple instances, just one to serve all requests class MyTask implements Runnable { private int MAX_ATTEMPTS = 10; public void run() { if(++attempt <= MAX_ATTEMPTS) { doX(); if(doXSucceeded) { //stop retrying the task anymore } […]

JVM返回错误143

在Windows 2003上作为计划任务运行的Java应用程序崩溃,没有任何日志或任何有助于找出发生的事情的内容。 唯一可用的信息是应用程序返回代码143(8F)。 从计划任务日志中检索到该错误代码。 有谁知道错误代码(143)代表什么? 注销用户是否可能导致应用程序终止? 谢谢,

Web应用程序中的计划任务?

我正在为在线游戏构建统计应用程序,使用Java中的servlet API构建(将部署在Tomcat上)。 每次用户登录时,让游戏向stats服务器发送消息都很容易,因为处理请求是Servlets / Tomcat的用途。 我还需要定期在统计服务器上发起请求,例如从游戏服务器检索在线用户的数量或从我们的Facebook页面检索粉丝数量。 在应用程序的主servlet中启动一个线程并让它偶尔进行数据检索会很容易,但感觉有点奇怪,因为所有其他线程都是由Tomcat创建的。 这样做好吗? 如果没有,推荐的方法是什么? 将servlet用于这样的事情是否正确? 有什么选择? 请注意第一个答案:我不是在寻找解决时序或并发问题的方法,因为我可以轻松处理这两个问题。 我只需要知道如何在servlet容器中正确启动主动进程。

java计时器任务计划

从阅读堆栈溢出我已经看到你们许多人不建议使用计时器任务。 嗯……但我已经实现了这个: 我有这个代码: detectionHandlerTimer.schedule(myTimerTask, 60 * 1000, 60 * 1000); 问题是myTimerTask的工作持续一段时间。 我想这样的行为: 等待60秒 做任务一段时间(例如40-100秒)。 任务完成。 等待60秒。 做任务一段时间(例如40-100秒)。 但上面的代码表现得像这样 等待60秒 做任务一段时间(例如40-100秒)。 任务完成 做任务一段时间(例如40-100秒)。 由于任务的持续时间大于60,因此计时器在任务完成后立即启动任务。 但我希望它再次等待。

在服务器端为servlet JSP MVC网站运行定期任务

我使用servlet和JSP开发了一个Web应用程序。 我本身并没有使用任何框架,而是使用我自己的自制的MVC框架。 我使用MySQL作为后端。 我想做以下事情: 每小时清理数据库中的一些数据 在某个XML文件中每15分钟生成并存储有关数据的统计信息 问题是:目前我的所有代码都是从客户端收到的请求运行的。 如何在服务器端运行定期任务? 我现在的一个解决方案是在控制器的init函数中创建一个线程。 还有其他选择吗?