有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

雅加达ee使用线程。sleep()、计时器或平台cron作业,用于Java EE应用程序中的定期操作

我有一个JavaEE应用程序,每15分钟从互联网上下载一次股票价格。从计时准确性的角度来看,应用程序最好将这种周期性操作内部化,即结合使用Thread.sleep()计数器或设置计时器,或者通过URL公开任务并让平台cron作业周期性地(以要求的频率)点击URL是否更好

这两种方法的优缺点是什么

我被一个针对OpenJDK实现的计时器错误吓坏了。该漏洞指出,系统时间的变化会影响与时间相关的操作和方法的运行,如睡眠和计时器周期


共 (1) 个答案

  1. # 1 楼答案

    一定要考虑使用为任务构建的调度作业。尝试将任务本身从任何时间考虑中分离出来

    • 正如所建议的,石英是一个不错的选择
    • Cron还不错,但需要更多的设置才能与您的应用程序集成 任务
    • 如果在JavaEE上,您可以使用EJB计时器
    • 您可以使用ScheduledExecutorService(不推荐)自行启动