在 Liberty 中疑難排解 SIP 儲存器階段作業儲存庫
在您疑難排解 SIP 儲存器階段作業儲存庫時,您可能需要將 SIP 階段作業的詳細資料傾出到指定的追蹤檔。
關於這項作業
您可以利用 SIP 階段作業記憶體傾出公用程式,以協助您對 SIP 儲存器階段作業的相關問題進行除錯。SIP 儲存器提供 SipContainerMBean 方法,以便在 SIP 儲存器中執行若干服務功能類型的作業,包括:透過指令行來起始伺服器靜止。這項作業說明如何使用 SipContainerMBean 方法,來傾出 SIP 儲存器之記憶體內階段作業儲存庫所包含的 SIP 應用程式階段作業和 SIP 階段作業資訊。藉由將 SipContainerMBean 方法配置成使用各種追蹤方法,您可以指定要傾出到指定追蹤檔的 SIP 階段作業詳細資料。
一旦啟動階段作業傾出方法,依預設,所要求的階段作業相關資訊會列印至 console.log 檔。您也可以將資訊傳送到 setDumpMethod 方法中指定的預先定義來源。
您可以在
簡潔和詳細模式下,執行傾出公用程式。當您使用簡潔的階段作業傾出方法時,在每次執行傾出方法時,只會列印階段作業 ID。如果您想使用詳細的階段作業傾出方法,會進行下列動作:
- 每次執行傾出方法時,都會列印交易使用者詳細資料以及 SIP 階段作業詳細資料(若有的話)。
- 唯一會傾出至追蹤檔的屬性,就是 JSR 289 規格允許顯露的屬性。
- 詳細方法會在追蹤檔中列印下列資訊:appName、callID、對話狀態、建立時間、屬性名稱。
會依 SIP 應用程式來印出追蹤;因此,在列印之前,會先排序所有的 SIP 階段作業資料結構。SipContainerMBean 傾出機能是在低優先順序的執行緒中執行,如此一來,在正式作業伺服器中,追蹤就不會對整體系統的呼叫處理延遲造成影響。
傾出能夠區別具有 SIP 階段作業的交易使用者與沒有 SipSession 物件的交易使用者。此外,對於不再存在、不再有效或存在於追蹤 Snapshot 期間的 SIP 階段作業,也會以描寫形式包含在傾出中。
在 Liberty 中,您可以採下列兩種方式來呼叫 SipContainerMBean 傾出方法:
- 執行 server dump 指令
- 實作 Java™ 管理延伸 (JMX) 用戶端,以建立 JMX 連接器連線,來呼叫方法
下列的簡潔 SipContainerMBean 方法用來傾出 SIP 階段作業 ID。
方法 | 說明 |
---|---|
dumpAllSASIds() | 列印所有的 SIP 應用程式階段作業,以及 SIP 應用程式階段作業 ID。 |
dumpAllTUSipSessionIds() | 列印一些交易使用者,以及交易使用者 (TU)(若有的話)內的 SIP 階段作業 ID。 |
下列的詳細 SipContainerMBean 方法用來傾出 SIP 階段作業詳細資料。
方法 | 說明 |
---|---|
dumpAllSASDetails() | 列印所有的 SIP 應用程式階段作業,以及 SIP 應用程式階段作業 ID 的詳細資料。 |
dumpAllTUSipSessionDetails() | 列印一些交易使用者,以及交易使用者 (TU)(若有的話)內的 SIP 階段作業 ID 詳細資料。 |
dumpSASDetails(String sasId) | 列印 sasId 參數指定之 SIP 應用程式階段作業的詳細資料。 |
dumpSipSessionDetails(String sessionId) | 列印 sessionId 參數指定之 SIP 階段作業的詳細資料。 |
註: 下列資訊有助於剖析列印輸出:
- 對於所有列印輸出,第一行提供應用程式名稱和一些記錄。
- 輸出之間的定界字元是 TAB。
- 階段作業屬性之間的定界字元是 ;(分號)。