当前位置: 首页 > 面试题库 >

Spring内置的Scheduler是否持久化?

卫建义
2023-03-14
问题内容

我遇到了必须使用 持久性Scheduler的情况
,因为我有一个Web应用程序,由于某些问题该应用程序可能会崩溃或关闭,如果发生这种情况,它可能会丢失作业详细信息。我尝试了以下方法:

  • 使用Quartz调度程序

RAMJobStore先使用过,但是由于它不是持久性的,因此没有太大帮助。无法设置,JDBCJobStore因为这将需要对现有代码库进行大量代码更改。鉴于这种情况,我有以下查询:

  • 如果我 使用Spring的 内置@Schedule注释, 我的工作将是持久的 ..?我不在乎应用程序启动后是否安排了工作。我只希望工作不丢失其细节和触发器。
  • 如果 不是 ,是否还有 其他可替代的方法 ,请记住我需要使用调度程序调度多个作业。
  • 如果 我该如何实现 ?每个工作的触发因素都不同。例如,我可能有一份工作安排在上午9点,另一份工作安排在8.30AM,依此类推。
  • 如果 不是调度程序 ,那么我可以有一种机制来处理此问题吗?

我发现一件事是Quartz的文档描述性不强。我的意思是顶级配置很好,但是在您的应用程序上配置它很痛苦。这只是一个旁注。与这个问题无关。

感谢帮助。:)


问题答案:

@Schedule与实际的执行者无关。默认的Java执行器不是持久性的(也许有一些特定于应用程序服务器的执行器),如果要持久性,则必须使用Quartz来执行作业。



 类似资料:
  • 我知道Redis从内存中提供所有数据,但它是否也可以在服务器重新引导时持久存在,这样当服务器重新引导时,它将从磁盘中读取所有数据到内存中。或者它总是一个空白存储,只存储数据,而应用程序运行没有持久性?

  • 问题内容: 大家好,我是持久/hibernate的新手,需要您的帮助。 这是情况。我有一个包含一些东西的表。我们称它们为“人”。我想从该表中的数据库中获取所有条目。 我有一个Person类,它是一个简单的POJO,具有表中每个列的属性(名称,年龄,..) 这是我所拥有的: 但是,我收到一条警告,说这是从到的未经检查的转换 我认为只需将代码更改为 会工作..但是没有。 有没有办法做到这一点 ?持久性

  • 持久化存储的相关配置 这里使用的是NFS的方式进行持久化,如果您有自己的持久化方案可以不使用改方案。 $ kubectl apply -f install/kubernetes/storage/serviceaccount.yaml $ kubectl apply -f install/kubernetes/storage/rbac.yaml $ kubectl apply -f install/

  • 我想创建一个Spring Boot应用程序,部署在Google AppEngine基础设施上。GAE目前仅支持Servlet2.5 web应用程序。 是否可以使用Spring Boot-使用自动配置-与老式web.xml? 例如,我可以使用一个contextClass/contextConfigplace指向一个包括@EnableAutoConfiguration在内的@Confiati类吗? 所

  • 问题内容: 我正在尝试创建事务管理器,并将其与Hibernate for Oracle一起使用。 我的persistence.xml文件是: 在spring的applicationContext.xml中,我添加了: 但是,当我运行时: 我有一个例外: Hibernate基础文件文件除外。 可能是什么问题呢? Hibernate持久性如何知道引用Spring bean? 问题答案: 持久性提供程序

  • 这就是我的datasourcebean的样子