連線工廠物件的屬性分為幾個種類,在下列各節中有所介紹:
表 16–1 列出連線處理的連線工廠屬性。
表 16–1 連線處理的連線工廠屬性
屬性 |
類型 |
預設 |
說明 |
---|---|---|---|
字串 |
若存在,為現有的 Message QueueTM 3.0 位址;若不存在,則為表 16–2 中的第一個項目 |
代理程式位址的清單 此清單由以逗號分隔的一個或多個代理程式位址組成。每個位址都會指定 (或表示) 主機名稱、連接埠號,以及用戶端可以連線的代理程式實例的連線服務。位址語法會因連線服務與連接埠指定方法而異;請參閱下面內容以取得詳細資訊。 |
|
字串 |
PRIORITY |
嘗試連線至代理程式位址的順序: PRIORITY:位址清單中指定的順序 RANDOM:隨機順序 備註 – 如果許多用戶端共用相同的連線工廠,請指定隨機連線順序,以免全都嘗試連線至相同的位址。 |
|
整數 |
5 |
在位址清單上嘗試建立或重新建立連線的重複次數 -1 值表示不限制重複次數。 |
|
imqPingInterval |
整數 |
30 |
測試用戶端與代理程式間之連線的時間間隔 (以秒為單位) 0 或 -1 值可停用有規律的連線測試。 |
布林值 |
false |
嘗試重新建立中斷的連線? |
|
整數 |
0 |
移至位址清單中的下一個位址之前,嘗試連線 (或重新連線) 至每個位址的次數 -1 值表示不限制嘗試連線的次數:會重複嘗試連線至第一個位址,直到成功為止。 |
|
長整數 |
3000 |
嘗試重新連線的時間間隔 (以毫秒為單位) 此值適用於連續嘗試一個指定的位址,以及連續依序嘗試清單中連續的位址。 備註 – 過小的值可能會讓代理程式來不及回復;而過大的值則可能會導致令人無法忍受的延遲。 |
|
布林值 |
true |
信任代理程式所提出的任何憑證? 若設為 false,Message Queue 用戶端執行階段將會驗證收到的所有憑證。若憑證的簽署者不在用戶端的信任清單存放區中,則驗證將會失敗。 若設為 true,將會略過憑證驗證。例如,使用自我簽署的憑證對軟體進行測試時,這樣設定很有用。 備註:若要使用憑證授權單位簽署的憑證,請將此屬性設定為 false。 |
imqAddressList 屬性的值是以逗號分隔的字串,指定要連線的一個或多個代理程式位址。每個位址的一般語法如下:
scheme://address
其中 scheme 是表 16–2 第一欄中顯示的其中一個定址機制,而 address 為代理程式位址本身。指定位址的確切語法會因定址機制而異,如表格的最後一欄所示。
表 16–2 訊息代理程式定址機制表 16–3 訊息代理程式位址範例
服務 |
代理程式主機 |
連接埠 |
範例位址 |
---|---|---|---|
未指定 |
未指定 |
未指定 |
無位址 (mq://localHost:7676/jms) |
未指定 |
指定主機 |
未指定 |
myBkrHost (mq://myBkrHost:7676/jms) |
未指定 |
未指定 |
指定連接埠對映器連接埠 |
1012 (mq://localHost:1012/jms) |
ssljms |
本地主機 |
標準連接埠對映器連接埠 |
mq://localHost:7676/ssljms |
ssljms |
指定主機 |
標準連接埠對映器連接埠 |
mq://myBkrHost:7676/ssljms |
ssljms |
指定主機 |
指定連接埠對映器連接埠 |
mq://myBkrHost:1012/ssljms |
jms |
本地主機 |
指定服務連接埠 |
mqtcp://localhost:1032/jms |
ssljms |
指定主機 |
指定服務連接埠 |
mqssl://myBkrHost:1034/ssljms |
httpjms |
不適用 |
不適用 |
http://websrvr1:8085/imq/tunnel |
httpsjms |
不適用 |
不適用 |
https://websrvr2:8090/imq/tunnel |
表 16–4 列出用戶端標識的連線工廠屬性。
表 16–4 用戶端標識的連線工廠屬性
屬性 |
類型 |
預設 |
說明 |
---|---|---|---|
字串 |
guest |
以代理程式進行認證時使用的預設使用者名稱 |
|
字串 |
guest |
以代理程式進行認證時使用的預設密碼 |
|
字串 |
null |
管理配置的用戶端識別碼 |
|
布林值 |
false |
是否要使用setClientID方法,以防止用戶端變更用戶端識別碼? |
表 16–5 列出可靠性與流量控制的連線工廠屬性。
表 16–5 可靠性與流量控制的連線工廠屬性
屬性 |
類型 |
預設 |
說明 |
---|---|---|---|
字串 |
0 |
指定在丟出異常之前,等待代理程式確認的最長時間 (以毫秒為單位) 0 值表示無逾時 (永遠等待)。 備註 – 有時過小的值會導致發生提早逾時的情況:例如,首次使用安全 (SSL) 連線向 LDAP 使用者儲存庫認證使用者時,可能需要超過 30 秒的時間。 |
|
整數 |
100 |
度量批次中的有效負載訊息數 超過此訊息數時,就會暫時停止傳送有效負載訊息至用戶端,而會傳送所有累積的控制訊息。依照用戶端執行階段的通知,重新繼續傳送有效負載訊息,直至計數再次到達指定數目為止。 0 值可停用對訊息傳送進行度量,這可能會導致大量有效負載訊息流量阻斷 Message Queue 控制訊息。 |
|
布林值 |
false |
要限制連線層級的訊息流量? |
|
整數 |
1000 |
每個連線可傳送和緩衝供使用的最大訊息數 擱置的未使用有效負載訊息數 (受到由 imqConnectionFlowCount 控制之流量度量的管制) 超過此限制時,連線就會停止傳送訊息。只有當擱置的訊息低於限制時,才會重新繼續傳送。如此可避免用戶端因擱置訊息導致耗盡記憶體,而造成過度負載。 如果 imqConnectionFlowLimitEnabled 為 false,則可忽略此屬性。 |
|
整數 |
100 |
每個用戶可傳送和緩衝供使用的最大訊息數 該用戶擱置未使用的有效負載訊息數超過此限制時,就會停止將訊息傳送給指定的用戶。只有當該用戶的擱置訊息低於 imqConsumerFlowThreshold 指定的百分比時,才會重新繼續傳送。如此可改善多個用戶間的負載平衡,並防止任何用戶獨佔連線,以免讓使用相同連線的其他用戶苦等。 您可以為佇列自身的 consumerFlowLimit 屬性設定一個較小的值,以置換此限制 (請參閱第 15 章, 實體目標特性參照)。請注意,將訊息傳送給一個連線上所有用戶時,必須遵守 imqConnectionFlowLimit 所指定的整體限制。 |
|
整數 |
50 |
在用戶端執行階段緩衝的每位用戶之訊息數,以 imqConsumerFlowLimit 百分比表示,當低於該值時,就可以重新繼續傳送訊息 |
表 16–6 列出佇列瀏覽和伺服器階段作業的連線工廠屬性。
表 16–6 佇列瀏覽器和伺服器階段作業的連線工廠屬性
屬性 |
類型 |
預設 |
說明 |
---|---|---|---|
整數 |
1000 |
瀏覽佇列目標的內容時,一次可擷取的最大訊息數 備註 – 此屬性不會影響所瀏覽的訊息總數,而只是影響將訊息分為資料塊以便傳送到用戶端執行階段的方式 (分為數目少但內容多的資料塊,或是分為數目多但內容少的資料塊)。用戶端應用程式一定會收到佇列中的所有訊息。變更該屬性的值可能會影響效能,但不會影響所擷取的資料總數。 |
|
長整數 |
60000 |
瀏覽佇列目標的內容時,在丟出異常之前,等待擷取訊息的最長時間 (以毫秒為單位) |
|
布林值 |
true |
要將最大訊息數載入伺服器階段作業? 如果指定為 false,用戶端一次只載入一個訊息。 |
表 16–7 列出的連線工廠屬性,可控制 Message Queue 用戶端執行階段是否設定「Java 訊息服務規格」中所定義的某些標準訊息特性。
表 16–7 標準訊息特性的連線工廠屬性
特性 |
類型 |
預設 |
說明 |
---|---|---|---|
布林值 |
false |
要為產生的訊息設定 JMSXUserID 特性 (傳送訊息的使用者身份識別)? |
|
布林值 |
false |
要為產生的訊息設定 JMSXAppID 特性 (傳送訊息的應用程式身份識別)? |
|
布林值 |
false |
要為產生的訊息設定 JMSXProducerTXID 特性 (產生訊息的作業事件之作業事件識別碼)? |
|
布林值 |
false |
要為使用的訊息設定 JMSXConsumerTXID 特性 (使用訊息的作業事件之作業事件識別碼)? |
|
布林值 |
false |
要為使用的訊息設定 JMSXRcvTimestamp 特性 (訊息傳送給用戶的時間)? |
表 16–8 列出用以置換 JMS 訊息標頭欄位的連線工廠屬性。
表 16–8 訊息標頭置換的連線工廠屬性
屬性 |
類型 |
預設 |
說明 |
---|---|---|---|
布林值 |
false |
允許置換用戶端設定的傳送模式? |
|
整數 |
2 |
置換傳送模式的值: 1 非永久性模式 2 永久性模式 |
|
布林值 |
false |
允許置換用戶端設定的過期時間? |
|
長整數 |
0 |
置換過期時間的值 (以毫秒為單位) 0 值表示不限制過期時間 (訊息永不過期)。 |
|
布林值 |
false |
允許置換用戶端設定的優先層級? |
|
整數 |
4 (一般) |
置換優先權層級的值 (0 至 9) |
|
布林值 |
false |
要將置換套用至暫時目標? |