java.lang.RuntimeException: CronExpression '4 27 11 ? 8? 2014' 无效,

2023-12-27

将此作为无效的 CronExpression,无法弄清楚为什么

转介http://www.quartz-scheduler.org/documentation/quartz-1.x/tutorials/crontrigger http://www.quartz-scheduler.org/documentation/quartz-1.x/tutorials/crontrigger

这就是我生成 Cron 表达式的方式:

public class sample {

    /**
     * @param args
     */
    public static void main(String[] args) {
        Date date = new Date();
        String formatted_date = generateCronExpression(Integer.toString(date.getSeconds()),Integer.toString(date.getMinutes()),
                Integer.toString(date.getHours()), "?", Integer.toString(date.getMonth()), "?", Integer.toString(date.getYear()+1900));

    }
    private static String generateCronExpression(final  String seconds,final String minutes, final String hours, final String dayOfMonth, final String month, final String dayOfWeek, final String year) {
        return String.format("%1$s %2$s %3$s %4$s %5$s %6$s %7$s", seconds,minutes, hours, dayOfMonth, month, dayOfWeek, year);
    }
}

'?' cron 表达式中的 意味着允许月份中的某一天和星期几不互相干扰(例如,因此您可以指定一个 cron 在任何星期五触发,无论该月中的哪一天或 13 日)每个月的,无论是哪一天)。如果您将它们都指定为“?”您没有任何日期规范,这是非法的。

当前日期的 cron 表达式将使用月份中的某一天,并忽略星期几。例如,今天,2014 年 9 月 15 日,您可以指定4 27 11 15 9 ? 2014.

这可以通过从 java 中提取当前日期来生成Date object:

public static void main(String[] args) {
    Date date = new Date();
    String formatted_date = generateCronExpression
                             (Integer.toString(date.getSeconds()),
                              Integer.toString(date.getMinutes()),
                              Integer.toString(date.getHours()),
                              Integer.toString(date.getDate()),
                              Integer.toString(date.getMonth() + 1), // see Note #2
                              "?",
                              Integer.toString(date.getYear() + 1900));
}

Notes:

  1. Date.getDate(), Date.getHours()等已弃用 - 您应该使用Calendar.get反而。我保留了 OP 中的当前代码,以便使解决方案清晰,而不是用额外的细节增加混乱。
  2. Date.getMonth()(以及新推荐的方法,Calendar.get(Calendar.MONTH))返回月份的从零开始的表示(例如,一月是 0,二月是 1 等),而 cron 表达式是从一开始的(例如,一月是 1,二月是 2 等) - 所以你应该添加 1对于 cron 表达式。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

java.lang.RuntimeException: CronExpression '4 27 11 ? 8? 2014' 无效, 的相关文章

  • Java 中等效的并行扩展

    我在 Net 开发中使用并行扩展有一些经验 但我正在考虑在 Java 中做一些工作 这些工作将受益于易于使用的并行库 JVM 是否提供任何与并行扩展类似的工具 您应该熟悉java util concurrent http java sun
  • 如何为最终用户方便地启动Java GUI程序

    用户想要从以下位置启动 Java GUI 应用程序Windows 以及一些额外的 JVM 参数 例如 javaw Djava util logging config file logging properties jar MyGUI jar
  • Java Swing:从 JOptionPane 获取文本值

    我想创建一个用于 POS 系统的新窗口 用户输入的是客户拥有的金额 并且窗口必须显示兑换金额 我是新来的JOptionPane功能 我一直在使用JAVAFX并且它是不同的 这是我的代码 public static void main Str
  • 如何使用 Java 和 Selenium WebDriver 在 C 目录中创建文件夹并需要将屏幕截图保存在该目录中?

    目前正在与硒网络驱动程序和代码Java 我有一种情况 我需要在 C 目录中创建一个文件夹 并在该文件夹中创建我通过 selenium Web 驱动程序代码拍摄的屏幕截图 它需要存储在带有时间戳的文件夹中 如果我每天按计划运行脚本 所有屏幕截
  • Spring Batch 多线程 - 如何使每个线程读取唯一的记录?

    这个问题在很多论坛上都被问过很多次了 但我没有看到适合我的答案 我正在尝试在我的 Spring Batch 实现中实现多线程步骤 有一个包含 100k 条记录的临时表 想要在 10 个线程中处理它 每个线程的提交间隔为 300 因此在任何时
  • 为什么 i++ 不是原子的?

    Why is i Java 中不是原子的 为了更深入地了解 Java 我尝试计算线程中循环的执行频率 所以我用了一个 private static int total 0 在主课中 我有两个线程 主题 1 打印System out prin
  • Play框架运行应用程序问题

    每当我尝试运行使用以下命令创建的新 Web 应用程序时 我都会收到以下错误Play http www playframework org Error occurred during initialization of VM Could no
  • 在 java 类和 android 活动之间传输时音频不清晰

    我有一个android活动 它连接到一个java类并以套接字的形式向它发送数据包 该类接收声音数据包并将它们扔到 PC 扬声器 该代码运行良好 但在 PC 扬声器中播放声音时会出现持续的抖动 中断 安卓活动 public class Sen
  • 使用 Android 发送 HTTP Post 请求

    我一直在尝试从 SO 和其他网站上的大量示例中学习 但我无法弄清楚为什么我编写的示例不起作用 我正在构建一个小型概念验证应用程序 它可以识别语音并将其 文本 作为 POST 请求发送到 node js 服务器 我已确认语音识别有效 并且服务
  • JAXb、Hibernate 和 beans

    目前我正在开发一个使用 Spring Web 服务 hibernate 和 JAXb 的项目 1 我已经使用IDE hibernate代码生成 生成了hibernate bean 2 另外 我已经使用maven编译器生成了jaxb bean
  • Android MediaExtractor seek() 对 MP3 音频文件的准确性

    我在使用 Android 时无法在eek 上获得合理的准确度MediaExtractor 对于某些文件 例如this one http www archive org download emma solo librivox emma 01
  • 反射找不到对象子类型

    我试图通过使用反射来获取包中的所有类 当我使用具体类的代码 本例中为 A 时 它可以工作并打印子类信息 B 扩展 A 因此它打印 B 信息 但是当我将它与对象类一起使用时 它不起作用 我该如何修复它 这段代码的工作原理 Reflection
  • Liferay ClassNotFoundException:DLFileEntryImpl

    在我的 6 1 0 Portal 实例上 带有使用 ServiceBuilder 和 DL Api 的 6 1 0 SDK Portlet 这一行 DynamicQuery query DynamicQueryFactoryUtil for
  • 如何为俚语和表情符号构建正则表达式 (regex)

    我需要构建一个正则表达式来匹配俚语 即 lol lmao imo 等 和表情符号 即 P 等 我按照以下示例进行操作http www coderanch com t 497238 java java Regular Expression D
  • Java按日期升序对列表对象进行排序[重复]

    这个问题在这里已经有答案了 我想按一个参数对对象列表进行排序 其日期格式为 YYYY MM DD HH mm 按升序排列 我找不到正确的解决方案 在 python 中使用 lambda 很容易对其进行排序 但在 Java 中我遇到了问题 f
  • 加密 JBoss 配置中的敏感信息

    JBoss 中的标准数据源配置要求数据库用户的用户名和密码位于 xxx ds xml 文件中 如果我将数据源定义为 c3p0 mbean 我会遇到同样的问题 是否有标准方法来加密用户和密码 保存密钥的好地方是什么 这当然也与 tomcat
  • 如何在桌面浏览器上使用 webdriver 移动网络

    我正在使用 selenium webdriver 进行 AUT 被测应用程序 的功能测试自动化 AUT 是响应式网络 我几乎完成了桌面浏览器的不同测试用例 现在 相同的测试用例也适用于移动浏览器 因为可以从移动浏览器访问 AUT 由于它是响
  • 静态变量的线程安全

    class ABC implements Runnable private static int a private static int b public void run 我有一个如上所述的 Java 类 我有这个类的多个线程 在里面r
  • 捕获的图像分辨率太大

    我在做什么 我允许用户捕获图像 将其存储到 SD 卡中并上传到服务器 但捕获图像的分辨率为宽度 4608 像素和高度 2592 像素 现在我想要什么 如何在不影响质量的情况下获得小分辨率图像 例如我可以获取或设置捕获的图像分辨率为原始图像分
  • 如何修复 JNLP 应用程序中的“缺少代码库、权限和应用程序名称清单属性”?

    随着最近的 Java 更新 许多人都遇到了缺少 Java Web Start 应用程序的问题Codebase Permissions and Application name体现属性 尽管有资源可以帮助您完成此任务 但我找不到任何资源综合的

随机推荐

  • Grails——服务层的使用

    当我想要更新非简单域对象时 我在组织代码时遇到问题 问题在于分离控制器和服务层的职责 更明确地说 假设我们有一个域类 Client 它依赖于其他域类 如 Address 等 在视图中 有一个 gsp 用于编辑一些客户端属性 包括一些嵌套属性
  • 两个“np.longdouble”的总和会产生很大的数值误差

    早上好 我正在从 FITS 文件中读取两个数字 表示单个数字的整数和浮点部分 将它们转换为长双精度数 在我的机器中为 128 位 然后将它们相加 使用 128 位浮点数得到的结果并不像我预期的那么精确 这是代码 a int np longd
  • 错误:redirect_uri_mismatch 在 MVC 应用程序的 Google 登录中

    我正在尝试通过 MVC C 应用程序将视频上 传到 YouTube 我正在关注这个link https github com youtube api samples tree master dotnet 每当我尝试运行该应用程序时 我都会收
  • Android MediaCodec:多个 SurfaceView 支持多少个同步(视频)解码线程?

    From Grafika https github com google grafika项目 文件 DoubleDecodeActivity java 我在 3 个 SurfaceView 上使用 MediaCodec API 尝试了 3
  • 带有 poco 生成的实体框架 IQueryable

    我创建了一个 T4 模板 它生成标准实体类及其每个属性的接口 以便我可以制作仅包含我想要的数据的自定义 poco 对象 我还创建了一个复制函数 它可以在实现所述实体接口的任何对象之间进行转换 生成的代码如下所示
  • 如何在 Apple 的 TestFlight 服务上重新发送外部测试人员邀请 [已关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 Locked 这个问题及其答案是locked help locked posts因为这个问题是题外话 但却具有历史意义 目前不接受新的答案
  • macOS + Qt + Intellisense 上的 Visual Studio Code

    Visual Studio Code 出现以下错误 cannot open source file QtWidgets qtwidgetsglobal h dependency of QApplication C C 1696 我有一个 C
  • CALayer 的动画结束回调?

    我想知道 CALayer 中动画的回调在哪里 或者是否有任何东西 具体来说 对于隐式动画 例如更改框架 位置等 在 UIView 中 您可以执行以下操作 UIView beginAnimations SlideOut context nil
  • ng-bootstrap 模式不显示

    我在我的应用程序中使用 ng bootstrap 模式来显示对话框 但是当单击按钮时 什么也没有发生 模式没有显示 在调试时 它可能会发现该操作被调用 但模式未显示 这是我的 app module ts import NgModule fr
  • Vaadin Binder 中的上传组件,例如粗略编辑器

    我有一个 Crud 来自 Vaadin Pro 并且想使用 BinderCrudEditor 中的上传组件 Upload 组件不存储值 或者更确切地说 缺少 HasValue 接口 因此我无法使用 Binder 有没有什么方法可以以某种方式
  • persp() 轴标签中的下标

    我正在尝试使用以下函数绘制两个变量的函数persp R 中的函数 这是我到目前为止所拥有的 C unab lt function u1 u2 return u1 u2 x lt seq 0 1 by 0 1 y lt seq 0 1 by
  • 同时绘制 3D 平面和点

    我正在尝试使用 Matplotlib 同时绘制一个平面和 3D 中的一些点 我没有错误 只是点不会出现 我可以在不同时间绘制一些点和平面 但不能同时绘制 代码部分如下所示 import numpy as np import matplotl
  • 尝试在 Android Studio 上运行增强

    我正在尝试在 Android Studio 中设置 jdo jpa 并遵循上一个问题的答案here https stackoverflow com questions 23303893 google apps engine backend
  • 接口实现(接口隔离原则)

    我遇到一种情况 我需要调用第三方服务来获取一些信息 这些服务对于不同的客户可能会有所不同 我的界面中有一个身份验证功能 如下所示 interface IServiceProvider bool Authenticate string use
  • LinqPad 不使用 C# 语句返回结果

    已经很晚了 所以这一定是愚蠢的事情 我已将 LinqPad 连接到我的数据库 但似乎无法获得最简单查询的结果 var q from app in AppInstances select new AppId app AppId 当我运行它时
  • 在视图中获取 Laravel 5 控制器名称

    我们旧网站 CSS 的设置是为了body标签有一个控制器名称的 id 和一个动作名称的类 使用 Zend Framework 1 现在我们切换到 Laravel 5 我找到了一种通过Route类 但找不到控制器名称的方法 我在 Larave
  • 通过字符串在对象图中查找属性

    我正在尝试使用访问嵌套类结构的各个部分随意的细绳 给定以下 人为的 类 public class Person public Address PersonsAddress get set public class Adddress publ
  • SQL Server 查询超时

    访问 SQL Server 2012 数据库的第 3 方应用程序正在获取 Microsoft ODBC SQL Server Driver Query timeout expired执行大约20分钟后出现错误 这是应用程序开始接收错误后我在
  • Php 标头位置重定向不起作用

    不知道为什么这不起作用 这是代码 if isset POST cancel POST cancel cancel header Location page1 php echo POST cancel 此输出不是重定向页面 而是cancel到
  • java.lang.RuntimeException: CronExpression '4 27 11 ? 8? 2014' 无效,

    将此作为无效的 CronExpression 无法弄清楚为什么 转介http www quartz scheduler org documentation quartz 1 x tutorials crontrigger http www