當儲存庫關閉時無法鑑別

如果一或多個配置的儲存庫已關閉,您無法鑑別或停止 WebSphere Application Server。

問題

可能發生下列異常狀況或類似異常狀況,這指出無法建立與後端儲存庫的連線:

CWWIM4520E The 'javax.naming.CommunicationException:                      
Extdomain1.altext.ibm.com:389 [Root exception is java.net.ConnectException: Connection refused: connect]' 
naming exception occurred during processing.  
at  com.ibm.ws.wim.adapter.ldap.LdapConnection.reCreateDirContext(LdapConnection.java:613)  
at com.ibm.ws.wim.adapter.ldap.LdapConnection.search(LdapConnection.java:2419)

解決方案

請確定後端儲存庫正在執行中,且您能夠連接它。 如果配置多個儲存庫,則所有已配置的儲存庫都應該已啟動且在執行中。

如果問題持續發生,則是因為 Virtual Member Manager 的安全特性。 如果一或多個已配置的儲存庫關閉,則不論您的特定 ID 儲存在哪個儲存庫中,都無法登入 (即使以管理者身分) 或停止 WebSphere Application Server。 Virtual Member Manager 一律在鑑別之前檢查所有儲存庫。

如果要停用這項安全特性,請使用 createIdMgrRealmupdateIdMgrRealm wsadmin 指令,將 -allowOperationIfReposDown 參數設為 trueallowOperationIfReposDown 參數的預設值為 false。 停用此安全特性之後,即使其中一個已配置的儲存庫關閉, Virtual Member Manager 也會使用其他作用中儲存庫。 只要登入使用者 ID 和密碼位於作用中的儲存庫中,即可順利登入。

如果您將 allowOperationIfReposDown 參數的值設為 true,則預期會有下列行為:

啟動 WebSphere Application Server
當伺服器啟動時, allowOperationIfReposDown 參數不適用。 伺服器是否可以順利啟動離線儲存庫,完全取決於儲存庫類型。 LDAP 儲存庫不需要 LDAP 伺服器啟動,即可順利啟動伺服器。 視您的環境定義儲存區設定而定,在第一個要求讀取使用者設定檔之前, LDAP 儲存庫甚至可能不會嘗試與 LDAP 伺服器通訊。 在伺服器啟動期間, WebSphere Application Server 會查閱管理者的設定檔。 如果 LDAP 伺服器離線,您可能會遇到延遲。 如果儲存庫離線,其他儲存庫類型 (包括自訂) 可能會使伺服器啟動失敗。 此行為完全取決於儲存庫類型。
登入 WebSphere Application Server
當您登入 WebSphere Application Server時,會套用 allowOperationIfReposDown 參數。 在 WebSphere Application Server 順利啟動之後,即使一或多個儲存庫關閉,但如果您的使用者 ID 位於其中一個作用中儲存庫中,您可以登入並執行任何作業,包括停止伺服器。
停止 WebSphere Application Server
當您使用 wasadmin -userid -password來關閉伺服器時,會套用 allowOperationIfReposDown 參數。 請參閱前一個子標題「登入 WebSphere Application Server」,以瞭解登入期間的行為。

如需 allowOperationIfReposDown 參數及 createIdMgrRealmupdateIdMgrRealm wsadmin 指令的相關資訊,請參閱 WebSphere Application Server 說明文件中的 IdMgrRealmConfig 指令群組 AdminTask 物件。 (如果您使用 WebSphere Application Server 6.1,若要停用此安全特性,請先套用 PK78677 修補程式或安裝 WebSphere Application Server 修正套件 6.1.0.23 或更新版本,然後相應地變更配置。)