最重要的連線處理屬性是 imqAddressList ,該屬性會指定要與其建立連線的代理程式。此屬性值是一個字串,其中包含一個代理程式位址或 (如果是代理程式叢集) 由逗號分隔的多個位址。視所使用的連線服務 (請參閱連線服務) 和建立連線的方法之不同,代理程式位址可使用多種定址方案:
mq 使用代理程式的連接埠對映器,為 jms 或 ssljms 連線服務動態地指定連接埠。
mqtcp 會略過連接埠對映器,並使用 jms 連線服務,直接連線至指定的連接埠。
mqssl 使用 ssljms 連線服務,為指定的連接埠建立安全通訊端層 (SSL) 連線。
http 使用 httpjms 連線服務,將超文字傳輸協定 (HTTP) 連線至指定 URL 的 Message Queue 通道 Servlet。
https 使用 httpsjms 連線服務,將安全超文字傳輸協定 (HTTPS) 連線至指定 URL 的 Message Queue 通道 Servlet。
這些定址方案在表 16–2 中有所摘要。
每個代理程式位址的一般格式為
scheme://address
其中 scheme 是上述所列的其中一個定址方案,而 address 則表示代理程式位址本身。指定位址的確切語法會因定址機制而異,如表 16–2 中的最後一欄所示。表 16–3 顯示不同位址格式範例。
在有多個代理程式的叢集環境中,位址清單可包含多個代理程式位址。如果第一個連線嘗試失敗,Message Queue 用戶端執行階段會嘗試連線至清單中的另一個位址,以此類推,一直到清單上所有位址都試完為止。有兩個額外的連線工廠屬性會控制完成此作業的方式:
imqAddressListBehavior 會指定特定位址的嘗試順序。如果此屬性設定為 PRIORITY 字串,將會以在位址清單中出現的順序來嘗試連線位址。如果屬性值是 RANDOM,則會以隨機的順序來嘗試連線位址;例如,當有許多 Message Queue 用戶端共用相同的連線工廠物件時,這會有效避免用戶端全部嘗試連線至相同的代理程式位址。
imqAddressListIterations 會指定在放棄並報告失敗之前,循環清單的次數。數值 -1 表示不限制循環次數:用戶端執行階段會繼續嘗試,直到成功建立連線或時間終了為止 (視哪種情況先發生)。