国产chinesehdxxxx野外,国产av无码专区亚洲av琪琪,播放男人添女人下边视频,成人国产精品一区二区免费看,chinese丰满人妻videos

Quartz配置JDBC-JobStoreTX

2018-09-28 15:03 更新

配置JDBC-JobStoreTX

JDBCJobStore用于在關(guān)系數(shù)據(jù)庫中存儲調(diào)度信息(jobs,Triggers和日歷)。實際上,您可以選擇兩個獨立的JDBCJobStore類,具體取決于您需要的事務(wù)性行為。

JobStoreTX通過在每次操作(如添加jobs)后調(diào)用數(shù)據(jù)庫連接上的commit()(或rollback())來管理所有事務(wù)。如果在獨立應用程序中使用Quartz,或者在應用程序不使用JTA事務(wù)的情況下,則在Servlet容器中使用JDBCJobStore。

通過設(shè)置“org.quartz.jobStore.class”屬性來選擇JobStoreTX:

將調(diào)度程序的JobStore設(shè)置為JobStoreTX

org.quartz.jobStore.class = org.quartz.impl.jdbcjobstore.JobStoreTX

JobStoreTX可以使用以下屬性進行調(diào)整:

Property NameRequiredTypeDefault Value
org.quartz.jobStore.driverDelegateClassyesstringnull
org.quartz.jobStore.dataSourceyesstringnull
org.quartz.jobStore.tablePrefixnostring"QRTZ_"
org.quartz.jobStore.usePropertiesnobooleanfalse
org.quartz.jobStore.misfireThresholdnoint60000
org.quartz.jobStore.isClusterednobooleanfalse
org.quartz.jobStore.clusterCheckinIntervalnolong15000
org.quartz.jobStore.maxMisfiresToHandleAtATimenoint20
org.quartz.jobStore.dontSetAutoCommitFalsenobooleanfalse
org.quartz.jobStore.selectWithLockSQLnostring"SELECT * FROM {0}LOCKS WHERE SCHED_NAME = {1} AND LOCK_NAME = ? FOR UPDATE"
org.quartz.jobStore.txIsolationLevelSerializablenobooleanfalse
org.quartz.jobStore.acquireTriggersWithinLocknobooleanfalse (or true - see doc below)
org.quartz.jobStore.lockHandler.classnostringnull
org.quartz.jobStore.driverDelegateInitStringnostringnull

org.quartz.jobStore.driverDelegateClass

Driver代表了解不同數(shù)據(jù)庫系統(tǒng)的特定“方言”。可能的選擇包括:

  • org.quartz.impl.jdbcjobstore.StdJDBCDelegate(用于完全符合JDBC的驅(qū)動程序)
  • org.quartz.impl.jdbcjobstore.MSSQLDelegate(對于Microsoft SQL Server和Sybase)
  • org.quartz.impl.jdbcjobstore.PostgreSQLDelegate
  • org.quartz.impl.jdbcjobstore.WebLogicDelegate(對于WebLogic驅(qū)動程序)
  • org.quartz.impl.jdbcjobstore.oracle.OracleDelegate
  • org.quartz.impl.jdbcjobstore.oracle.WebLogicOracleDelegate(對于Weblogic中使用的Oracle驅(qū)動程序)
  • org.quartz.impl.jdbcjobstore.oracle.weblogic.WebLogicOracleDelegate(對于在Weblogic中使用的Oracle驅(qū)動程序)
  • org.quartz.impl.jdbcjobstore.CloudscapeDelegate
  • org.quartz.impl.jdbcjobstore.DB2v6Delegate
  • org.quartz.impl.jdbcjobstore.DB2v7Delegate
  • org.quartz.impl.jdbcjobstore.DB2v8Delegate
  • org.quartz.impl.jdbcjobstore.HSQLDBDelegate
  • org.quartz.impl.jdbcjobstore.PointbaseDelegate
  • org.quartz.impl.jdbcjobstore.SybaseDelegate

請注意,許多數(shù)據(jù)庫已知與StdJDBCDelegate一起工作,而其他數(shù)據(jù)庫與其他數(shù)據(jù)庫的代理人合作,例如Derby與Cloudscape代理(不出意外)工作良好。

org.quartz.jobStore.dataSource

此屬性的值必須是配置屬性文件中定義的DataSource的名稱。有關(guān)更多信息,請參閱DataSources配置文檔。

org.quartz.jobStore.tablePrefix

JDBCJobStore的“表前綴”屬性是一個等于在數(shù)據(jù)庫中創(chuàng)建的Quartz表的前綴的字符串。如果使用不同的表前綴,則可以在同一數(shù)據(jù)庫中擁有多組Quartz表。

org.quartz.jobStore.useProperties

“使用屬性”標志指示JDBCJobStore,JobDataMaps中的所有值都將是“字符串”,因此可以將其存儲為名稱 - 值對,而不是以BLOB列的序列化形式存儲更復雜的對象。這可以方便,因為您避免了將非String類序列化為BLOB時可能產(chǎn)生的類版本控制問題。

org.quartz.jobStore.misfireThreshold

在被認為“失火”之前,調(diào)度程序?qū)ⅰ叭萑獭币粋€Triggers將其下一個啟動時間通過的毫秒數(shù)。默認值(如果您在配置中未輸入此屬性)為60000(60秒)。

org.quartz.jobStore.isClustered

設(shè)置為“true”以打開群集功能。如果您有多個Quartz實例使用同一組數(shù)據(jù)庫表,則此屬性必須設(shè)置為“true”,否則您將遇到破壞。有關(guān)詳細信息,請參閱集群配置文檔。

org.quartz.jobStore.clusterCheckinInterval

設(shè)置此實例“檢入”*與群集的其他實例的頻率(以毫秒為單位)。影響檢測失敗實例的速度。

org.quartz.jobStore.maxMisfiresToHandleAtATime

在給定的通行證中,工作區(qū)將處理的最大錯誤次數(shù)觸發(fā)。一次處理很多(超過幾十打)可能導致數(shù)據(jù)庫表被鎖定得足夠長,以致可能會阻礙其他(未失敗的)Triggers觸發(fā)的性能。

org.quartz.jobStore.dontSetAutoCommitFalse

將此參數(shù)設(shè)置為“true”可以告訴Quartz在從DataSource獲取的連接上不調(diào)用setAutoCommit(false)。這在一些情況下可能會有所幫助,例如,如果您有一個驅(qū)動程序,如果它已經(jīng)關(guān)閉時被調(diào)用,則會抱怨。此屬性默認為false,因為大多數(shù)驅(qū)動程序要求調(diào)用setAutoCommit(false)。

org.quartz.jobStore.selectWithLockSQL

必須是在“LOCKS”表中選擇一行并在該行上放置一個鎖的SQL字符串。如果未設(shè)置,默認值為“SELECT * FROM {0} LOCKS WHERE SCHED_NAME = {1} AND LOCK_NAME =?FOR UPDATE“,適用于大多數(shù)數(shù)據(jù)庫。在運行時使用上面配置的TABLE_PREFIX替換“{0}”?!皗1}”被替換為調(diào)度程序的名稱。

org.quartz.jobStore.txIsolationLevelSerializable

值“true”表示Quartz(使用JobStoreTX或CMT)在JDBC連接上調(diào)用setTransactionIsolation(Connection.TRANSACTION_SERIALIZABLE)。這可以有助于防止在高負載下的某些數(shù)據(jù)庫的鎖定超時以及“持久”事務(wù)。

org.quartz.jobStore.acquireTriggersWithinLock

是否在明確的數(shù)據(jù)庫鎖中發(fā)生觸發(fā)下一個Triggers的觸發(fā)。這曾經(jīng)是必需的(在以前的Quartz版本中),以避免與特定數(shù)據(jù)庫的死鎖,但不再需要,因此默認值為“false”。

如果“org.quartz.scheduler.batchTriggerAcquisitionMaxCount”設(shè)置為> 1,并使用JDBC JobStore,則此屬性必須設(shè)置為“true”以避免數(shù)據(jù)損壞(從Quartz 2.1.1開始,“true”現(xiàn)在是默認值如果batchTriggerAcquisitionMaxCount設(shè)置為> 1)。

org.quartz.jobStore.lockHandler.class

用于生成用于鎖定作業(yè)存儲數(shù)據(jù)控件的org.quartz.impl.jdbcjobstore.Semaphore實例的類名稱。這是一個高級配置功能,大多數(shù)用戶不應該使用它。默認情況下,Quartz將選擇最適合(預捆綁)的Semaphore實現(xiàn)來使用。“org.quartz.impl.jdbcjobstore.UpdateLockRowSemaphore” QUARTZ-497可能對MS SQL Server用戶很感興趣。見QUARTZ-441。

org.quartz.jobStore.driverDelegateInitString

一個以管道分隔的屬性列表(及其值),可以在初始化時間內(nèi)傳遞給DriverDelegate。

字符串的格式是這樣的:

“settingName = settingValue | otherSettingName = otherSettingValue | ...”

StdJDBCDelegate及其所有后代(Quartz附帶的所有代理)都支持一個名為“triggerPersistenceDelegateClasses”的屬性,該屬性可以設(shè)置為實現(xiàn)用于存儲自定義Triggers類型的TriggerPersistenceDelegate接口的類的逗號分隔列表。有關(guān)為自定義Triggers編寫持久性委托的示例,請參閱Java類SimplePropertiesTriggerPersistenceDelegateSupport和SimplePropertiesTriggerPersistenceDelegateSupport。

以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號