Sun Java System Calendar Server 6 2005Q4 管理指南

事件通知伺服器 (ENS) 配置

可以將 Calendar Server 配置為使用稱為事件通知伺服器 (ENS) 的外部通用服務,該服務可接受按特定興趣分類的伺服器層級事件報告,並可通知其他已對特定種類的事件進行註冊的伺服器。Calendar Server 使用 ENS 來傳送和接收警示通知 (包括建立、刪除或修改行事曆事件和工作),以及一般作業警告和錯誤訊息。

下表顯示 ics.conf 中的事件通知伺服器 (ENS) 配置參數,以及每個參數的預設值和說明。

表 E–18 ics.conf 檔案中的事件通知伺服器 (ENS) 配置參數

參數 

預設值 

說明 

service.ens.enable

"yes"

如果為 "yes",則在啟動所有服務時啟動 enpd 服務,並在停止所有服務時停止 enpd。

service.ens.host

"localhost"

執行 ENS 的機器的主機名稱。 

service.ens.port

"57997"

執行 ENS 的機器的連接埠號。 

service.ens.library

"xenp"

ENS 外掛程式的名稱。 

service.notify.enable

"yes"

如果為 "yes",則在啟動所有服務時啟動 csnotifyd 服務,並在停止所有服務時停止 csnotifyd

service.notify .maxretrytime

"-1"

csnotifyd 將持續重試且無法連絡 ENS 的次數。 

"-1" 可導致警示執行緒無限制重試。

service.notify .retryinterval

"3"

連線失敗後嘗試重新連絡 ENS 之前,csnotifyd 等待的時間 (以秒為單位)。

service.notify .startupretrytime

"0"

Calendar Server 在停止前保持嘗試連絡 ENS 的總秒數。此設定類似於 caldb.serveralarms.maxretrytime,除了其僅在警示執行緒首先啟動時才適用。警示執行緒成功啟動後,將使用 caldb.serveralarms.maxretrytime

"0" 告知警示執行緒若在啟動時無法連線至 ENS,則立即結束。

ens.startlistener

"0"

可以接受的值: 

  • "1"

  • "0"

caldb.berkeleydb .alarmretrytime

"300"

可回復警示遞送錯誤之後的重試時間 (以秒為單位)。 

caldb.berkeleydb.ensmsg .createcal

"no"

如果為 "yes",則在建立行事曆時使用以下格式建立事件通知服務訊息︰ 

enp://ics/createcal?calid=cal

caldb.berkeleydb.ensmsg .modifycal

"no"

如果為 "yes",則在使用以下格式修改行事曆時建立事件通知服務訊息︰

enp://ics/modifycal?calid=cal

caldb.berkeleydb.ensmsg .deletecal

"no"

如果為 "yes",則在使用以下格式刪除行事曆時建立事件通知服務訊息︰

enp://ics/deletecal?calid=cal

caldb.berkeleydb.ensmsg .advancedtopics

"no"

指定修改事件通知如何發佈︰ 

  • 如果為 "yes",則系統會透過將 replyrefreshmodify 作業事件發佈至各自主題來區別它們︰

    caldb.berkeleydb.ensmsg.replyevent

    caldb.berkeleydb.ensmsg.refreshevent

    caldb.berkeleydb.ensmsg.modifyevent

  • 如果為 "no",則系統會將所有三種類型 (replyrefreshmodify) 均發佈至以下主題:

    caldb.berkeleydb.ensmsg.modifyevent

caldb.berkeleydb.ensmsg .createevent

"no"

如果為 "yes",則在建立事件時建立 ENS 訊息。

caldb.berkeleydb.ensmsg .deleteevent

"no"

如果為 "yes",則在刪除事件時建立 ENS 訊息。

caldb.berkeleydb.ensmsg .modifyevent

"no"

如果為 "yes",則在修改事件時建立 ENS 訊息。

caldb.berkeleydb.ensmsg .refreshevent

"no"

指定更新事件時 Calendar Server 是否應建立 ENS 訊息。 

caldb.berkeleydb.ensmsg .refreshevent.contenttype

"text/xml"

指定事件更新之訊息資料的內容類型。值可為 "text/xml" 或 "text/calendar"。

caldb.berkeleydb.ensmsg .refreshevent.url

"enp:///ics /calevent refresh"

指定事件更新之 ENS 訊息的 URL。 

caldb.berkeleydb.ensmsg .replyevent

"no"

指定 Calendar Server 是否應為事件回覆建立 ENS 訊息。 

caldb.berkeleydb.ensmsg .replyevent.contenttype

"text/xml"

指定事件回覆之訊息資料的內容類型。值可為 "text/xml""text/calendar"

caldb.berkeleydb.ensmsg .replyevent.url

"enp:///ics
/caleventreply"

指定事件回覆之 ENS 訊息的 URL。 

caldb.berkeleydb.ensmsg .createtodo

"no"

如果為 "yes",則在使用以下格式建立待辦事項 (工作) 時建立事件通知服務訊息︰

enp://ics/createtodo?
uid=uid&rid=rid

caldb.berkeleydb.ensmsg .modifytodo

"no"

如果為 "yes",則在修改工作時使用以下格式建立事件通知服務訊息︰ 

enp://ics/modifytodo?
uid=uid&rid=rid

caldb.berkeleydb.ensmsg .deletetodo

"no"

如果為 "yes",則在使用以下格式刪除工作時建立事件通知服務訊息︰

enp://ics/deletetodo?uid=uid&rid=rid

caldb.berkeleydb.ensmsg .qsize

"10000"

記憶體內部 ENS 訊息佇列的初始大小。此佇列可儲存警示提醒通知以外的所有 ENS 訊息。 

caldb.berkeleydb.ensmsg .schedreq

"no"

如果為 "yes",則在使用以下格式刪除寫入行事曆的排程請求時建立事件通知服務訊息︰

enp://ics/schedreq?calid=cal
&method=method&type={event|todo}
&uid=uid&rid=rid

caldb.serveralarms

"yes"

如果為 "yes",將傳送警示電子郵件。 

caldb.serveralarms .acktimeout

"30"

指定 ENS 的警示執行緒在發佈警示通知後等待 csnotifyd 回應的秒數。如果逾時過期,警示執行緒將假設警示通知不再處理,並會再次發佈警示通知。 

caldb.serveralarms.dispatchtype

"ens"

指定 Calendar Server 警示的派送類型︰ 

  • 如果為 "ens",則伺服器使用外部 ENS 傳送和接收警示。

  • 如果為 "smtp",則伺服器將警示做為標準 SMTP 訊息傳送,且略過 ENS。

caldb.serveralarms .initthreads

"10"

伺服器警示執行緒的初始數目。 

caldb.serveralarms .maxretrytime

"-1"

警示執行緒將持續重試且無法連絡 ENS 的次數。 

"-1" 可導致警示執行緒無限制重試。

caldb.serveralarms .maxthreads

"10"

伺服器警示執行緒的最大數目。 

caldb.serveralarms .retryinterval

"5"

警示執行緒 (在 csadmind 中) 在嘗試重新連絡 ENS 之前等待的時間 (以秒為單位)。 

caldb.serveralarms .stacksize

"65536"

伺服器警示執行緒的堆疊框架大小。 

caldb.serveralarms .startupretrytime

"0"

Calendar Server 在失敗前保持嘗試連絡 ENS 的總秒數。此設定類似 caldb.serveralarms.maxretrytime 設定,除了僅在警示執行緒首先啟動時才適用。一旦警示執行緒成功啟動,將使用 caldb.serveralarms.maxretrytime。 

如果為 "0",則警示執行緒在啟動時無法連線至 ENS 的情況下,會立即結束。

caldb.smtphost

"localhost"

將警示電子郵件傳送至該 SMTP 主機。