标签: quartz-scheduler

Apache Camel 与 Quartz - 无并发执行

我想使用camel->quartz组件来安排一些工作在指定的时间间隔完成。

但我希望以同步的方式做到这一点。意味着,计划作业的下一次执行只能在当前执行完成后开始。

我为 Servicemix 创建了路由和调度程序服务。

QuartzRoute.java

public class QuartzRoute extends RouteBuilder {
@Override
public void configure() throws Exception {

    from("quartz://myGroup/myTimerName?cron=0/1+*+*+*+*+?").process(new SchedulerService());
}
Run Code Online (Sandbox Code Playgroud)

}

SchedulerService.java

public class SchedulerService implements Processor {

public void process(Exchange exchange) throws Exception {

    System.out.println("I'm running every 5 sec...");
    Thread.sleep(5000);     
    System.out.println("Exiting iteration ");
}
Run Code Online (Sandbox Code Playgroud)

}

在这里,我希望“我每 5 秒运行一次...”和“退出迭代”每次都以相同的顺序打印。在某种程度上,我希望仅在当前执行完成后才能再次执行此 SchedulerService。

java apache-camel quartz-scheduler apache-servicemix

4
推荐指数
1
解决办法
3674
查看次数

Javaquartz调度器:将unixcron格式转换为quartzcron格式

我想检查给定的 DateTime 是否匹配 unix cron 格式。我试图使用 Quartz,但 Quartz 不支持“Day of Month”和“Day of Week”都是“*”。

例如:

0 * * * * * (which means run every minutes) is not supported in Quartz
Run Code Online (Sandbox Code Playgroud)

因为它一定是

0 * * * * ? or 0 * * ? * *. 
Run Code Online (Sandbox Code Playgroud)

有人可以告诉我为什么,并告诉我如何将给定的 DateTime 与 Unix cron 格式相匹配吗?

谢谢

java unix cron quartz-scheduler

4
推荐指数
1
解决办法
3390
查看次数

Cron 调度程序每天午夜 12 点

我在 MVC 应用程序中实现了一个时间表,在每天午夜运行作业。这是代码。

    IScheduler sched = container.Resolve<IScheduler>();
    sched.JobFactory = new AutofacJobFactory(container);
    sched.Start();

    IJobDetail job = JobBuilder.Create<ProcessInvoiceJob>()
           .WithIdentity("job1", "group1")
           .Build();

    ITrigger trigger = TriggerBuilder.Create()
        .WithIdentity("trigger1", "group1")
        .WithCronSchedule("0 0 * * * ?")
        .Build();


    sched.ScheduleJob(job, trigger);
Run Code Online (Sandbox Code Playgroud)

我读了几篇文章,其中包含午夜 12 点的 cron 表达式为“0 0 * * * ?”

例如: http: //blog.bobcravens.com/2009/10/an-event-based-cron-scheduled-job-in-c/

问题是我的计划每隔一小时执行一次......如何解决这个问题?

c# cron quartz-scheduler

4
推荐指数
1
解决办法
8240
查看次数

Quartz Expression 每分钟只运行一次

我有这个石英 cron 表达式:exp = "0 * * ? * *" 每分钟运行一次。我使用此表达式作为触发器,每分钟调用一次 HTTP POST 方法。问题是它多次调用 post 方法。我需要一个在一分钟内执行一次的表达式。有什么建议如何做到这一点吗?

java cron quartz-scheduler cron-task quartz

4
推荐指数
1
解决办法
1万
查看次数

Spring boot @Scheduler 不适用于 tomcat

我有一个 @Scheduled 方法,当我使用嵌入式 tomcat 构建 Spring Boot 应用程序时,该方法运行没有问题。但是当我在 .war 中构建项目并使用 tomcat v8 部署它时,调度程序似乎没有触发。其他功能运行良好,只是这个调度程序没有在我的服务器上触发。

@Component
public class DeleteUser {

@Autowired
private UserService userService;

@Autowired
private UserAuthoritiesService userAuthService;

private static final Logger logger = LoggerFactory.getLogger(DeleteUser.class);

private static final SimpleDateFormat dateFormat = new SimpleDateFormat("HH:mm:ss");

//(cron="second, minute, hour, day of month, month, day(s) of week")
@Scheduled(cron="0 0 8 * * *", zone="Asia/Kuala_Lumpur")
public void schedulerDeleteUser() {

    List<User> ls = userService.getAllInactiveUser3Day(new Date());

    try {
        if(ls.size()>0) {

            for(User user: ls) {
                userService.updateStatusAccount(false, user.getId());
            }
        }
    } …
Run Code Online (Sandbox Code Playgroud)

java quartz-scheduler tomcat8 spring-boot

4
推荐指数
1
解决办法
4321
查看次数

Jetty中的预定任务

我想编写一个简单的Groovlet,它定期运行一个任务并使用Jetty容器.完成此任务的最简单方法是什么?我认为应该使用Quartz,但我不确定它是如何与Jetty集成的.我是否需要创建一个控制面板来启动和停止任务?有什么简单的例子我可以看一下开始吗?

java groovy jetty quartz-scheduler

3
推荐指数
1
解决办法
5105
查看次数

使用Quartz的动态作业数据

当我的进程收到消息时,它需要启动一个计时器并在X秒内执行一些逻辑.这些作业需要存储在JDBC存储中,据我所知,这可能与此问题无关.

根据我读过的内容,我应该能够为一个Job类分配一个具有不同类似属性值的JobDataMap,但是我无法找到任何文档或示例来支持这个用例.也许我的Google-fu很弱.

那有意义吗?有一个Job类,并以某种方式存储JobDataMap来填充该Job类并在每个消息的基础上运行它?

java spring quartz-scheduler

3
推荐指数
1
解决办法
8326
查看次数

Apache Camel-Quartz集成

我正在尝试使用camel-quartzCamel组件在我们的应用程序服务器上安排作业(这项技术选择是最终的,并且高于我的薪水级别),而Apache提供的唯一文档(此处)是微不足道的,并且是超紧凑的,没有任何真正有用的示例对于骆驼/石英新手.

在我深入了解我的具体工作需求之前,我试图了解这里的大局.文档说明 - 通过Camel - Quartz定时器被设置为端点.所以我假设(请纠正我,如果我错了)这意味着您编写要运行的作业及其配置/属性文件,然后将Quartz计时器设置为Camel端点; 然后,当这些工作运行时,它们会以某种方式通过Camel与其他端点进行通信(?).

那么使用camel-quartz而不仅仅是Quartz(它允许你的工作与其他端点通信)的唯一好处是什么?

Quartz可以配置一个quartz.properties文件,并需要其他配置,以便可以初始化Scheduler.camel-quartz照顾这对你?我想专注于编写工作,但不确定需要什么样的最小XML或属性配置.

提前感谢任何能够帮助澄清这一camel-quartz开发过程的人.

java integration scheduling apache-camel quartz-scheduler

3
推荐指数
1
解决办法
1万
查看次数

如何在Quartz中重新安排作业执行间隔?

我对Quartz有点新意.有没有办法更新已提交的Quartz作业的作业执行间隔?此间隔是否立即更新?重新安排后,你是否必须再次开始这项工作?

我找到了以下链接,但我不知道哪些库是代码,因为我的石英罐不包含链接中使用的一些类.此外,triggerKey方法来自哪里?这是某种静态导入吗?

http://quartz-scheduler.org/documentation/quartz-2.x/cookbook/UpdateTrigger

我希望在我的一个JUnit测试用例中将作业执行间隔更新为一个非常大的数字,因为我不希望该作业干扰被测试类的状态.测试用例完成后,我想将作业执行间隔重置为将在生产中使用的实际值

java quartz-scheduler

3
推荐指数
1
解决办法
2万
查看次数

如何解决grails插件依赖项

我的grails应用程序应该使用两个插件:shiroquartz2.

我将两个插件添加到BuildConfig.groovy:

  • 编译":shiro:1.1.4"
  • 编译":quartz2:2.1.6.2"

(在那个ide之后下载了它们)

依赖关系中的问题:shiro取决于shiro-quartz:1.2.0和来自org.opensymphony.quartz的shiro-quartz 1.6.1

我想知道为什么但是quartz2正在寻找方法实现到quartz-1.6.1.jar.Quartz2无法找到实现,这就是无法构建项目的原因.我认为quartz2应该在"普通"石英lib中搜索方法实现,比如quartz:1.0-RC7,但他没有.

那么,我怎样才能解决shiro和quartz2插件的冲突?

我听说依赖排除,但我不确定这个sugesstion.

PS与石英(不是quartz2)发生同样的问题

grails quartz-scheduler dependency-management grails-plugin shiro

3
推荐指数
1
解决办法
2943
查看次数