httpSessionDatabase - HTTP 階段作業資料庫 (httpSessionDatabase)

控制 HTTP 階段作業如何持續保存到資料庫。

NameTypeDefaultDescription
dataSourceRefstring階段作業管理程式應用來持續保存 HTTP 階段作業資料的資料來源 ID。
tableNamestringsessions資料庫表格名稱。
useMultiRowSchemabooleanfalse當啟用時,每一個階段作業資料屬性都會置於資料庫中的個別列中,以儲存每一個階段作業更大量的資料。當階段作業屬性極大,且需要稍微變更階段作業屬性時,這種配置可產生較佳的效能。當停用時,所有的階段作業資料屬性會置於每一個階段作業的同一列中。
skipIndexCreationbooleanfalse將這個內容設定為 "true",在伺服器啟動時,會停用建立索引的功能。只有在您想要針對階段作業持續性來手動建立自己的資料庫索引時,才應使用這個自訂內容。不過,建議您讓階段作業管理程式建立資料庫索引。在啟用這個內容之前,請確定您的階段作業資料庫有正確的索引。
writeFrequency
  • MANUAL_UPDATE
  • TIME_BASED_WRITE
  • END_OF_SERVLET_SERVICE
END_OF_SERVLET_SERVICE指定階段作業資料何時寫入持續儲存庫。依預設,階段作業資料會在 Servlet 完成執行之後寫入持續儲存庫。在某些環境中,變更此值可以增進效能。
MANUAL_UPDATE
必須在 IBMSession 物件上進行程式化同步,才能將階段作業資料寫入持續儲存庫。
TIME_BASED_WRITE
階段作業資料會根據指定的寫入間隔值寫入持續儲存庫。
END_OF_SERVLET_SERVICE
階段作業資料會在 Servlet 完成執行之後寫入持續儲存庫。
writeInterval精準度是秒鐘的時間量2m將階段作業資料寫入持續儲存庫之前應經過的秒數。預設值是 120 秒。只有在已啟用時間型寫入頻率時,才會使用這個值。. 指定正整數加上時間單位,時間單位可以是小時 (h)、分鐘 (m) 或秒 (s)。例如,指定 30 秒為 30s。您可以在單一項目中包括多個值。例如,1m30s 相等於 90 秒。
writeContents
  • ONLY_UPDATED_ATTRIBUTES
  • ALL_SESSION_ATTRIBUTES
ONLY_UPDATED_ATTRIBUTES指定多少階段作業資料應寫入持續儲存庫。依預設,只會寫入已更新的屬性,但是可以改為寫入所有的屬性(無論它們是否已變更)。
ONLY_UPDATED_ATTRIBUTES
只將更新的屬性寫入持續儲存庫中。
ALL_SESSION_ATTRIBUTES
所有屬性都寫入持續儲存庫中。
scheduleInvalidationbooleanfalse啟用這個選項可減少保持 HTTP 階段作業作用中所需的資料庫更新項目數目。當應用程式伺服器中的活動最少時,請指定一天兩小時。當這個選項停用時,失效程式程序會每隔幾分鐘執行來移除失效的 HTTP 階段作業。
scheduleInvalidationFirstHourint0指出會從持續儲存庫清除失效的階段作業期間的第一個小時。請將這個值指定為介於 0 與 23 之間的整數。這個值只在啟用了排程失效時才有效。
scheduleInvalidationSecondHourint0指出會從持續儲存庫清除失效的階段作業期間的第二個小時。請將這個值指定為介於 0 與 23 之間的整數。這個值只在啟用了排程失效時才有效。
noAffinitySwitchBackbooleanfalse將這個內容設定為 "true" 時,即使原始成員回復,仍可以保持與新成員的親緣性。當叢集成員失敗時,其要求會遞送到不同的叢集成員,並在這些成員中啟動階段作業。因此,會保持與新成員的階段作業親緣性,並且當失敗的叢集成員回復時,在原始叢集成員中所建立的階段作業要求會遞送回失敗的叢集成員。接受的值為 true 或 false,預設值為 false。當您將配送的階段作業配置為時間型寫入時,請將這個內容設定為 true。請注意,當未啟用配送的階段作業時,這個內容對於行為並沒有任何影響。
useInvalidatedIdbooleantrue如果具備送入 ID 的階段作業最近失效,將這個內容設定為 "true" 可重複使用這個 ID。這可效能最佳化,因為它防止檢查持續儲存庫。
onlyCheckInCacheDuringPreInvokebooleanfalse值 true 表示只有在要求取得階段作業時,才應更新階段作業的前次存取時間。值 false 表示在每個要求之後,都應立即更新階段作業的前次存取時間。在某些環境中,變更此值可以增進效能。
optimizeCacheIdIncrementsbooleantrue如果使用者的瀏覽器階段作業在多個 Web 應用程式之間來回移動,則在從持續儲存庫重新整理 Web 模組的記憶體內階段作業時,您可能會看到額外的持續儲存庫活動。因此,快取 ID 會持續增大,記憶體內階段作業屬性會被持續副本的所改寫。如果您想要防止快取 ID 持續增大,請將這個內容設定為 true。值 true 表示階段作業管理程式應評量 Web 模組的記憶體內階段作業是否比持續儲存庫中的副本來得舊。如果配置為叢集,請確保每一個叢集成員的系統時間盡可能相同。
db2RowSize
  • 32KB
  • 4KB
  • 16KB
  • 8KB
4KB配置給階段作業表格的表格空間頁面大小(如果使用 DB2 資料庫的話)。在某些環境中,增加此值可以增進資料庫效能。
32KB
使用表格空間頁面大小 32 KB。您必須另外建立 DB2 緩衝池和表格空間,並指定 32KB 作為兩者的頁面大小。您也必須指定您所建立之表格空間的名稱。
4KB
使用預設表格空間頁面大小 4 KB。您不需要建立 DB2 緩衝池或表格空間,而且不需要指定表格空間名稱。
16KB
使用表格空間頁面大小 16 KB。您必須另外建立 DB2 緩衝池和表格空間,並指定 16KB 作為兩者的頁面大小。您也必須指定您所建立之表格空間的名稱。
8KB
使用表格空間頁面大小 8 KB。您必須另外建立 DB2 緩衝池和表格空間,並指定 8KB 作為兩者的頁面大小。您也必須指定您所建立之表格空間的名稱。
tableSpaceNamestring要用於階段作業表格的表格空間。只有在 DB2 列大小大於 4KB 時,才需要這個值。
usingCustomSchemaNamebooleanfalse如果您將 DB2 用於階段作業持續性,且已在資料來源中設定 currentSchema 內容,請將這個內容設為 "true"。
useOracleBlobbooleanfalse將這個內容設定為 "true" 時,可以使用「二進位大型物件 (Binary Large Object, BLOB)」資料類型,針對媒介直欄來建立資料庫表格。使用 Oracle 資料庫時,這個值可增加持續性階段作業的效能。由於 Oracle 的限制,對於超過 4000 個位元組的資料,BLOB 支援需要使用 Oracle Call Interface (OCI) 資料庫驅動程式。您也必須確保在伺服器重新啟動之前建立新的階段作業表格,方法為捨棄舊的階段作業表格,或是將資料來源定義變更為參照不包含階段作業表格的資料庫。