受管理物件會置於即時可用的物件存放區中,用戶端應用程式可透過 Java Naming and Directory Interface (JNDI) 存取此處的受管理物件。您可以使用兩種類型的物件存放區︰標準的簡易目錄存取協定 (LDAP) 目錄伺服器,或本機檔案系統中的目錄。
對於生產訊息傳送系統,我們建議使用 LDAP 伺服器作為物件存放區。LDAP 伺服器是專為在分散式系統中使用而設計的,並提供在生產環境中非常有用的安全性功能。
有多家供應商提供 LDAP 實作。若要使用 Message Queue 管理工具來管理 LDAP 伺服器上的物件存放區,首先需要將伺服器配置成可以儲存 Java 物件並執行 JNDI 查找。請參閱 LDAP 實作所隨附的文件,以取得詳細資訊。
使用 LDAP 伺服器作為物件存放區時,您必須指定表 8–1 中所顯示的屬性。這些屬性分為以下幾個種類:
初始環境。 java.naming.factory.initial 屬性會指定伺服器上 JNDI 查找的初始環境。各 LDAP 物件存放區有其固定的此屬性值。
位置。java.naming.provider.url 屬性會指定 LDAP 伺服器的 URL 和目錄路徑。您必須確認所指定的目錄路徑存在。
安全性。java.naming.security.principal、java.naming.security.credentials 和 java.naming.security.authentication 屬性會在呼叫者嘗試存取物件存放區時,管理該呼叫者的認證程序。這些屬性的實際格式和數值視 LDAP 服務提供者而定;請參閱 LDAP 實作所隨附的文件以取得詳細資訊,並判斷所有作業是否均需要有安全性資訊,或者只有變更已儲存資料的作業需要安全性資訊。
屬性 |
說明 |
---|---|
JNDI 查找的初始環境 範例: com.sun.jndi.ldap.LdapCtxFactory |
|
伺服器 URL 和目錄路徑 範例: ldap://myD.com:389/ou=mq1,o=App 其中受管理物件存放區儲存在 /App/mq1 目錄中。 |
|
認證呼叫者的主體驗証身份 此屬性的格式取決於認證方案:例如: uid=homerSimpson,ou=People,o=mq 如果沒有指定此屬性,則運作方式將由 LDAP 服務提供者決定。 |
|
認證主體的憑證 此屬性的值取決於認證方案:例如,它可以是雜湊密碼、明文密碼、金鑰或憑證。 如果沒有指定此特性,則運作方式將由 LDAP 服務提供者決定。 |
|
認證的安全層級 此屬性的值是下列關鍵字之一: none、 simple 或 strong。例如,如果您指定 simple,則會提示您所有遺漏的主體或憑證值。這可讓您以更安全的方式提供識別資訊。 如果沒有指定此特性,則運作方式將由 LDAP 服務提供者決定。 |
Message Queue 也支援在本機檔案系統中使用目錄,以作為受管理物件的物件存放區。我們不建議您對生產系統使用此方法,不過此方法具有在開發環境中非常容易使用的優點。但是請注意,如果跨多個電腦節點部署的用戶端將目錄用作集中物件存放區,則這些用戶端都必須擁有該目錄的存取權。除此之外,任何對此目錄擁有存取權的使用者,均可使用 Message Queue 管理工具以建立並管理受管理物件。
使用檔案系統目錄作為物件存放區時,您必須指定表 8–2 中所顯示的屬性。這些屬性大致和上述 LDAP 物件存放區相同,其中特別需要說明的是,java.naming.provider.url 屬性會指定保留物件存放區之目錄的路徑。該目錄必須存在,而且 Message Queue 管理工具的使用者與用戶端應用程式的使用者皆必須擁有適當的存取權限,以供存取存放區。
表 8–2 檔案系統物件存放區屬性
屬性 |
說明 |
|
---|---|---|
|
JNDI 查找的初始環境 範例: com.sun.jndi.fscontext.RefFSContextFactory |
|
|
目錄路徑 範例: file:///C:/myapp/mqobjs |