裝置格式演算法

裝置格式演算法是用來判斷在回應特定的要求時,應使用的適當 JSP。 當收到要求且使用訊息映射程式將要求轉換為 CommandProperty 物件時,用來處理要求的 訊息映射程式和配接器會決定用來產生回應內容的適當裝置格式。 訊息映射程式的 ID 會新增至配接器的裝置格式 ID 中,以決定回應的整體裝置格式 ID。 此整體裝置格式 ID 和 VIEWNAME 即會用來從 VIEWREG 表格取得適當的 JSP,以便產生回應的內容。

每一個接受要求及使用訊息映射程式的配接器都會給予一個裝置格式 ID。 此 ID 定義於配接器的 instance_name.xml 架構檔中。 此 ID 定義於配接器架構的 instance_name.xml 架構檔中。使用訊息映射程式的每一個接收配接器,其預設裝置格式 ID 的間隔為 -10000。程式配接器的裝置格式 ID 為 -10000,而 MQSeries 配接器的裝置格式 ID 為 -2000。支援舊式訊息的配接器使用裝置格式 ID -30000。 在決定適當的 JSP 以及檢視指令,以呼叫 JSP 時,訊息映射程式 ID 會新增至配接器的裝置格式 ID,以決定該回應檢視畫面的裝置格式 ID。 不過,如果所計算出來的裝置格式 ID 的檢視畫面不存在時,則會使用配接器間隔的預設檢視畫面。 因此,如果是透過 HTTP 來接收 XML 的要求,其預設裝置格式 ID 為 -10000,如果是 MQSeries 配接器要求,其預設裝置格式 ID 為 -20000。回應檢視畫面必須有區別,因此,HTTP 回應會使用 HttpForwardViewCommand 介面,而來自 MQSeries 配接器的回應則會使用 MessagingViewCommand 介面。

此種演算法使得每一個配接器最多可以定義 9999 種可能的訊息映射程式。 每一個訊息映射程式的架構檔中都包含一個 ID 號碼,其間隔為 1。 若要架構額外的配接器來使用訊息映射程式,所給予的裝置格式 ID 間隔應為 10000。 例如,新的要求機制可以給予裝置格式間隔 40000。

附註 1:如果找不到計算出來的裝置格式 ID,則會使用配接器的預設裝置格式 ID 來取得結果。 此號碼可在 HTTP 配接器架構中架構。

附註 2:間隔的大小並不重要。 例如,如果只有 2 個訊息映射程式存在,則其間隔可以是 3。在預設的情況下,會使用間隔 10000。

範例 1:入埠訊息是由 ID 為 -1 的訊息映射程式,以及裝置格式 ID 為 -10000 的程式配接器處理。 如果依照裝置格式演算法,則針對該入埠訊息回應產生的裝置格式 ID 將會是 -10001。將會使用 VIEWREG 表格中,針對 VIEWNAME 所定義的 JSP 檔,以及裝置格式 ID -10001 來建立回應。

範例 2:另外,入埠訊息是由 ID 為 -1 的相同訊息映射程式處理,但卻以裝置格式 ID 為 -20000 的 MQSeries 配接器處理。 針對該訊息的回應所產生的裝置格式 ID 將會是 -20001。因此,將會使用 VIEWREG 表格中,針對 VIEWNAME 所定義的 JSP 檔,以及裝置格式 ID -20001 來建立回應。 注意,雖然要求可以使用相同的 JSP 來回應要求,但用來呼叫 JSP 的類別可能會不同。 

相關概念

IBM copyright