Lesson 11: Advanced (Enterprise) Features 高级功能(企业级)

Clustering :集群

      集群目前与JDBC-Jobstore (JobStoreTX或JobStoreCMT)和TerracottaJobStore一起工作。特性包括负载平衡load-balancing和作业故障转移job fail-over(如果JobDetail的“请求恢复”标志被设置为true)。

      通过将“org.quartz.jobStore.isClustered”属性设置为“true”,通过JobStoreTX或JobStoreCMT进行集群可以实现集群。集群中的每个实例都应该使用属性文件的相同副本。这方面的例外是使用相同的属性文件,但有以下允许的例外:不同的线程池大小“instanceId”属性的不同值。集群中的每个节点都必须具有唯一的org.quartz.scheduler.instanceId,通过将“AUTO”作为该属性的值,可以轻松完成(不需要不同的属性文件)。

  

永远不要在不同的机器上运行群集,除非它们的时钟使用某种形式的时间同步服务(守护进程)进行同步,这些服务定期运行(时钟相差必须在1秒之内)。 如果您不熟悉如何执行此操作,请访问http://www.boulder.nist.gov/timefreq/service/its.htm

Never fire-up a non-clustered instance against the same set of tables that any other instance is running against. You may get serious data corruption, and will definitely experience erratic behavior.

永远不要针对运行任何其他实例的同一组表启动非群集实例。您可能会遇到严重的数据损坏,并且肯定会遇到不稳定的行为。

      每次触发只会触发一个节点。我的意思是,如果Job有一个重复的触发器,告诉它每10秒触发一次,那么在12:00:00正好有一个节点将运行该Job,而在12:00:10正好会有一个节点运行每次都不一定是相同的节点 - 它或多或少是随机的节点运行它。对于繁忙的调度程序(许多触发器),负载平衡机制几乎是随机的,但是对于非繁忙(例如,一个或两个触发器)调度器偏向于 激活的相同节点。

      ####使用TerracottaJobStore进行集群只需将调度器配置为使用TerracottaJobStore(在 第9课:JobStores中介绍),您的调度器 将全部设置为进行集群。

      您可能还需要考虑设置Terracotta服务器带来的影响或者说是作用,特别是启用持久性等特性的配置选项,以及为高可用 运行一组  Terracotta服务器。

      TerracottaJobStore企业版提供高级Quartz Where功能,允许将Job智能定位到适当的群集节点。

     

      有关此JobStore和Terracotta的更多信息, 请访问http://www.terracotta.org/quartz

 

JTA Transactions  :JTA事务

         第9课:JobStores中所述,JobStoreCMT允许在更大的JTA事务中执行Quartz调度操作。

   通过将“org.quartz.scheduler.wrapJobExecutionInUserTransaction”属性设置为“true”,Job也可以在JTA事务(UserTransaction)中执行。设置此选项后,一个  JTA事务将在调用Job的execute方法之前开始(),并在执行调用终止之后立即执行commit()。这适用于所有Jobs。

      如果您想为每个Job指明JTA事务是否应该执行它,那么您应该在作业类上使用 @ExecuteInJTATransaction批注。

      除了在JTA事务中自动包装Job执行之外,在使用JobStoreCMT时,在调度器接口上进行的调用也参与事务。在调用调度器上的方法之前,确保已经启动了事务。通过使用UserTransaction,或者将使用调度程序的代码放在使用容器管理事务的SessionBean中,您可以直接实现这一点。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值