石英调度器实现
Quartz Scheduler implementation
使用 Quartz Scheduler 持久化数据的内部机制是什么?
我浏览了互联网,但没有找到明确的描述。
如果您建议在 hibernate 平台上使用同样的方法,那就太好了。
当您在项目中使用 Quartz Scheduler 时,您应该有一个名为 quartz.properties
的属性文件。在此文件中,您应该使用参数确定持久性机制:org.quartz.jobStore.class
此参数的值可以是以下值:
org.quartz.impl.jdbcjobstore.JobStoreCMT
:意思是想持久化在数据库中,事务由容器管理(像Weblogic,JBoss,...)
org.quartz.impl.jdbcjobstore.JobStoreTX
:这意味着你想持久化在数据库中,并且事务不是由容器管理的。此选项主要用于 运行 Quartz Scheduler 作为独立应用程序时。
org.quartz.simpl.RAMJobStore
: 在生产环境中实际上不推荐这个选项,因为根据这个参数,Quartz 只在 RAM 中持久化作业和触发器!
org.terracotta.quartz.TerracottaJobStore
: 最后一个选项是使用 Terracotta Server 作为持久化单元,Quartz 说这是最快的方法。
我个人更喜欢第一个选项,我认为它简单明了并且更可靠。
您可以阅读有关此配置的更多信息 here。
而关于hibernate,quartz会管理持久化任务,比如回滚和持久化,你不会参与这个过程。
使用 Quartz Scheduler 持久化数据的内部机制是什么? 我浏览了互联网,但没有找到明确的描述。 如果您建议在 hibernate 平台上使用同样的方法,那就太好了。
当您在项目中使用 Quartz Scheduler 时,您应该有一个名为 quartz.properties
的属性文件。在此文件中,您应该使用参数确定持久性机制:org.quartz.jobStore.class
此参数的值可以是以下值:
org.quartz.impl.jdbcjobstore.JobStoreCMT
:意思是想持久化在数据库中,事务由容器管理(像Weblogic,JBoss,...)org.quartz.impl.jdbcjobstore.JobStoreTX
:这意味着你想持久化在数据库中,并且事务不是由容器管理的。此选项主要用于 运行 Quartz Scheduler 作为独立应用程序时。org.quartz.simpl.RAMJobStore
: 在生产环境中实际上不推荐这个选项,因为根据这个参数,Quartz 只在 RAM 中持久化作业和触发器!org.terracotta.quartz.TerracottaJobStore
: 最后一个选项是使用 Terracotta Server 作为持久化单元,Quartz 说这是最快的方法。
我个人更喜欢第一个选项,我认为它简单明了并且更可靠。 您可以阅读有关此配置的更多信息 here。 而关于hibernate,quartz会管理持久化任务,比如回滚和持久化,你不会参与这个过程。