Tag: scheduled tasks

Spring @Scheduler正在执行两次。 我正在使用spring security,如果我删除上下文参数spring安全性不起作用

我在我的应用程序中使用spring Scheduler和spring security。 如果spring-servlet.xml文件在上下文参数中分配,则spring安全工作正常,但Spring Scheduler执行两次。 安全的context.xml <!– –> 为spring-servlet.xml com.joseph.model org.hibernate.cfg.AnnotationConfiguration ${jdbc.dialect} true 调度程序类 package com.joseph.cronJob; import org.springframework.scheduling.annotation.Scheduled; import org.springframework.stereotype.Service; @Service public class SampleCronJobImpl implements SampleCronJob { private static int count=0; @Override @Scheduled(cron = “0 */1 * * * *”) public void testSchedulerfunction() { count++; System.out.println(“scheduler fuction call count: “+count); } } web.xml中 CRUDWebAppMavenizedold log4jConfigLocation […]

不要在某台机器上运行Spring @Scheduled任务

我们的网络应用程序几乎没有计划任务,我们非常喜欢Spring的这个function,许多人已经开始依赖它了。 我们有一台’试用’机器,与prod机器共享相同的配置/ db。 由于此机器指向与prod机器相同的db,因此当它运行计划任务时 – 它可能会影响prod数据。 有没有办法不在这台机器上运行Spring Scheduled任务? 我们考虑过依赖机器名称,但是每次任务开始时都不想引入检查。 有什么建议么?

Quartz Scheduler – RAM和JDBC Job store之间的区别是什么

我想在我的应用程序中使用Quartz Scheduler框架。 我遇到了两种类型的JobStores: 1)RAM Job Store 2)JDBC Job store。 我想知道在哪种情况下我必须使用哪个工作店。 他们之间的利弊是什么? 对此有任何想法对我很有帮助,我很感激。

使用Quartz-scheduler在Jobs中的自定义对象参数

我正在测试Quartz来安排工作。 但是,该作业包含3个不可序列化的参数。 我在下面创建了一个示例应用程序,指示我如何实现该function。 有谁知道如何使用Quartz将自定义对象用作参数? 下面是调度工作的触发器,我已经评论了给我问题的区域。 public class Trigger { public void run() throws Exception { SchedulerFactory sf = new StdSchedulerFactory(); Scheduler sched = sf.getScheduler(); Date startTime = DateBuilder.nextGivenSecondDate(null, 15); JobDetail job = newJob(SimpleJob.class) .withIdentity(“job6”, “group1”) .build(); SimpleTrigger trigger = newTrigger() .withIdentity(“trigger6”, “group1”) .startAt(startTime) .withSchedule(simpleSchedule() .withIntervalInSeconds(60) .repeatForever()) .build(); Date ft = sched.scheduleJob(job, trigger); TestObject testObject = […]

如何在Spring中使用EnableScheduling注释在运行时重新启动计划任务?

我一直在研究如何使用Java 8和spring更改运行时作业的频率。 这个问题非常有用,但并没有完全解决我的问题。 我现在可以配置下一次应该执行作业的日期。 但是如果将延迟设置为1年,那么我需要在考虑新配置之前等待1年。 我的想法是在配置值发生变化时停止计划任务(所以从另一个类开始)。 然后在下次执行任务时重新计算。 也许有一种更简单的方法可以做到这一点。 这是我到目前为止的代码。 @Configuration @EnableScheduling public class RequestSchedulerConfig implements SchedulingConfigurer { @Autowired SchedulerConfigService schedulerConfigService; @Bean public RequestScheduler myBean() { return new RequestScheduler(); } @Bean(destroyMethod = “shutdown”) public Executor taskExecutor() { return Executors.newScheduledThreadPool(100); } @Override public void configureTasks(ScheduledTaskRegistrar taskRegistrar) { taskRegistrar.setScheduler(taskExecutor()); taskRegistrar.addTriggerTask( new Runnable() { @Override public void run() { […]

Spring ScheduledTask – 启动/停止支持?

有没有办法启动或停止使用上下文文件或@Scheduled注释初始化的Spring Scheduled Tasks安排的任务? 我想在需要时启动任务,并在不再需要运行任务时停止它。 如果这是不可能的,那么将任何弹簧变量注入线程的替代方法是什么?

无论操作系统如何,在Java中执行计划任务的最佳解决方案是什么?

我想在我的Java桌面应用程序上生成警报: 警报设置的具体日期/时间可以是5分钟或5个月 我需要能够在触发警报时创建SWT应用程序 我需要这个能够在任何操作系统上工作。 软件用户可能拥有Windows(其中90%),其余的Mac OS(包括我) 软件许可证必须允许我在商业程序中使用它,而不需要开源它(因此,没有GPL) 我不能要求用户安装Cygwin,因此实现需要是Windows和Unix的原生 我正在使用Java,Eclipse,SWT进行开发,我的应用程序是使用Java Web Start从我的服务器部署的。 我正在使用Mac OS X.6进行开发。 我想我有几个选择: 在启动时运行我的应用程序,并自己处理一切; 使用系统服务。 在Unix上使用cron表,在Windows上使用Scheduled Tasks 在启动时运行 我真的不喜欢这个解决方案,我希望有更优雅的东西。 参考: 我想在Mac OS / Windows上的System Startup上运行我的Java程序。 我怎样才能做到这一点? 系统服务 如果我将它作为系统服务运行,我可以从中受益,因为操作系统将确保我的软件: 一直在运行 没有/需要GUI 失败时重新启动 我研究了一些我可以使用的资源: run4j – CPL – 仅在Windows上运行,似乎是一个有效的候选者 jsvc – Apache 2.0 – 仅限Unix,似乎是一个有效的候选者 Java服务包装 – 各种 – 我买不起付费许可证,免费的是GPL。 因此,我不想/不能使用它 我在系统服务选项中的问题是: 还有其他选择吗? 我的计划实施是否正确: 在应用程序启动时,检查服务是否存在 […]

如何每小时呼叫function? 另外,我该如何循环呢?

我需要一种简单的方法来每隔60分钟调用一次函数。 我怎样才能做到这一点? 我正在制作一个MineCraft bukkit插件,这就是我所拥有的: package com.webs.playsoulcraft.plazmotech.java.MineRegen; import java.util.logging.Logger; import org.bukkit.Location; import org.bukkit.block.Block; import org.bukkit.event.block.Action; import org.bukkit.event.player.PlayerInteractEvent; import org.bukkit.plugin.java.JavaPlugin; public class Main extends JavaPlugin{ public final Logger log = Logger.getLogger(“Minecraft”); @Override public void onEnable() { this.log.info(“~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~”); this.log.info(“Plaz’s Mine Regen is now enabled!”); this.log.info(“Copyright 2012 Plazmotech Co. All rights reserved.”); this.log.info(“~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~”); } @Override public void onDisable() { […]

是否可以在Web应用程序中运行cron作业?

在java web应用程序(servlets / spring mvc)中,使用tomcat,是否可以运行cron作业类型服务? 例如,每隔15分钟,清除日志数据库。 你能以独立于容器的方式执行此操作,还是必须使用tomcat或其他容器运行? 请指定方法是保证在特定时间运行还是每15分钟运行一次,但如果应用程序循环使用(如果您使用计时器,那么它是如何在.net中)可以重置等等。

进度弹簧的固定速率和固定延迟有什么不同?

我正在使用spring实现计划任务,我看到有2个类型的配置时间,计划再次从最新工作。 2配置这个配置有什么不同。 @Scheduled(fixedDelay = 5000) public void doJobDelay() { // do anything } @Scheduled(fixedRate = 5000) public void doJobRate() { // do anything }