Tag: cron

如何将cron表达式转换为日期或时间

我试图将cron表达式转换为日期。 例如,这是0 0 23 1 1-12 ? 表达。 我想转换为相应的日期。 我该如何实现这一目标? 这是我尝试过但它只是给出描述,人类可读,但我想要实现正确的日期格式。 import java.text.ParseException; import java.util.Date; import org.quartz.CronExpression; public class CRON { public static void main(String args[]) throws ParseException { //AutoRegistrationJobDao obj=new AutoRegistrationJobDao(); //obj.updateLastAutoRegSchdl(); String cron =”0 0 23 1 1-12 ?”; System.out.println(“cron :”+cron); CronExpression cronExpression =new CronExpression(“0 0 23 1 1-12 ?”); System.out.println(cronExpression.getExpressionSummary()); System.out.println(cronExpression.getFinalFireTime()); //System.out.println(cronExpression.getNextValidTimeAfter(date)); […]

如何避免在高可用性集群JBoss EAP中运行重复任务

我正在开发一个需要有一些后台工作的应用程序,例如在挂起的警报上发送电子邮件。 在独立配置中,作业已配置好并且可以与Spring调度程序和计划任务一起正常工作。 但我不知道如何使它们在具有高可用性的JBoss环境的集群上同步。 主要问题是避免不同节点上的作业同时运行。 我读过有关Quartz的内容: http://quartz-scheduler.org/documentation/quartz-2.x/configuration/ConfigJDBCJobStoreClustering 但是,在高可用性方案中并没有建议: 永远不要在不同的机器上运行群集,除非它们的时钟使用某种forms的时间同步服务(守护进程)进行同步,这些服务定期运行(时钟必须在彼此的秒内)。 如果您不熟悉如何执行此操作,请访问http://www.boulder.nist.gov/timefreq/service/its.htm 。 到目前为止,我已经使用自制的阻塞系统解决了同步问题( 为什么我在使用Oracle的JPA中的悲观锁定不起作用 )。 但我想知道JBoss是否为这个当然常见的问题提供了一些解决方案。

Spring @Scheduled注释

如何动态地使用Spring的@Scheduled注释? CronTrigger(String expression, TimeZone timeZone) http://docs.spring.io/spring/docs/current/javadoc-api/org/springframework/scheduling/support/CronTrigger.html#CronTrigger-java.lang.String-java.util.TimeZone- 由于我在数据库中有多个时区,我该如何动态传递它们? 我在我的代码中试过这个: TimeZone timezone = null; String timezone1 = null; public SchedulerBean(String timezone2) { this.timezone1 = timezone2; //constructor } @Scheduled(cron=”0 0 8 * * ?”, zone =timezone.getTimeZone(timezone1) ) //Error at this line public void sendQuestionNotif() { //……code } 这是我得到的错误 , *Type mismatch: cannot convert from TimeZone to String* 请帮帮我。 […]

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

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

安排将来要执行的事件(Android方式的Cron Job)

我有一些曾经失去相关性的日期,并且应该计算DB中这些字段的新日期,我知道我可以利用AlarmManager类,但是我对此有一些担忧: 1)注意:从API 19(KITKAT)开始,警报传递不准确:操作系统将移动警报以最小化唤醒和电池使用。 有新的API支持需要严格交付保证的应用程序; 请参阅setWindow(int,long,long,PendingIntent)和setExact(int,long,PendingIntent)。 targetSdkVersion早于API 19的应用程序将继续查看先前在请求时准确传递所有警报的行为。 那么我是否需要单独编写这两种情况的代码,或者如果我的目标是kitkat,那么它也适用于旧版本吗? 此外,由于我的代码执行时间紧迫,比如在某个日期的午夜12点之后,我的数据失去了相关性,如何克服警报的转移。 2)在设备处于hibernate状态时保留已注册的警报(如果设备在此期间关闭,可以选择将设备唤醒),但如果设备关闭并重新启动,则会清除设备。 2.1)在应用程序的清单中设置RECEIVE_BOOT_COMPLETED权限。 这允许您的应用程序接收系统完成引导后广播的ACTION_BOOT_COMPLETED (仅当用户已经至少一次启动应用程序时才有效) 2.1.1)如果我在12处设置了警报,则与此警报相关的服务将在12时触发,现在当我重新启动设备时,“12”时间已经过去,警报将立即再次触发并且服务会再次被召唤? 在重启时我需要实现什么机制才能在特定时间坚持我的代码执行策略? 如果用户未启动我的应用,如何设置闹钟? 第三件事是,如果我的应用程序被卸载,我想清除我的代码设置的所有警报,我如何在卸载应用程序时收听? 另外我想知道,我的应用程序非常关键,我的数据库中的值每晚12点都会过时,而我正在更新应用程序,如果用户选择在12时使用我的应用程序,结果会是什么使用服务来更新它并在后台运行? 编辑:到目前为止我尝试过: 我有一个数据库,其中记录在午夜过时,在12:00时说得很清楚。 我调用了一个警报管理器(在一个测试项目中,因为我喜欢隔离问题代码)来启动服务。 我还在设备上获得了PARTIAL_WAKE_LOCK,以便正确完成我庞大的数据库操作。 我还实现了一个线程来完成我耗时的任务。 以下是我的MainActivity类,我在12处调用它来启动警报(随机时间用于测试目的): public class MainActivity extends Activity { private AlarmManager alarmMgr; private PendingIntent alarmIntent; BroadcastReceiver br; TextView t; int sum; public void setSum(int s){ sum = s; // t = (TextView)findViewById(R.id.textView1); // t.setText(sum); […]

无论操作系统如何,在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。 因此,我不想/不能使用它 我在系统服务选项中的问题是: 还有其他选择吗? 我的计划实施是否正确: 在应用程序启动时,检查服务是否存在 […]

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

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

多个cron表达式触发jenkins构建

我想基于两组不同的cron表达式触发构建。 例: 第一个表达:上午8:00,下午5:00 第二个表达:下午12:30 让我知道任何建议。

使用带自动缩放的java的GAE上的Cron作业失败

我正在尝试使用cron job每天执行一次工作。 我正在使用自动缩放。 使用cron job我每天都会发送一次电子邮件。 我有两个条件: 每当我每天设置一次时间,例如every day 18:00然后cron作业成功运行,但它只执行3,4行CronJob实现类。 在记录器中我只得到4行执行如下: – 每当我every 2 minutes或every 5 minutes设置一次时间,然后cron作业成功运行并且cron作业实现类成功执行意味着它成功发送电子邮件。 为什么第一个条件不发送电子邮件? 是否有应用程序在那个时候闲置,这就是为什么它没有执行? 有帮助吗? Cron.xml: – /slick_erp/cronCustomerService Implemented for due services of customer. every day 11:30 web.xml中: – CustomerServiceCronJobImpl com.slicktechnologies.server.cronjobimpl.CustomerServiceCronJobImpl CustomerServiceCronJobImpl /slick_erp/cronCustomerService 我的cronjob实现类: – public class CustomerServiceCronJobImpl extends HttpServlet { /** * */ private static final long serialVersionUID = -6268357776825855510L; […]

是否有一个用于使用日期构造cron表达式的java类?

我需要根据表单中的用户输入构建一个cron表达式。 所以我有一个日期选择器和一个选择框来选择频率。 我可以很容易地从这个构建一个cron表达式,但感觉就像我正在重新发明轮子。 有没有合适的课程为我做这个? 用类似方法的东西 public String cron(String frequency, Calendar nextRunTime);