當儲存庫關閉時無法鑑別
如果一或多個配置的儲存庫已關閉,您無法鑑別或停止 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 一律在鑑別之前檢查所有儲存庫。
如果要停用這項安全特性,請使用 createIdMgrRealm 或 updateIdMgrRealm wsadmin 指令,將 -allowOperationIfReposDown 參數設為 true。 allowOperationIfReposDown 參數的預設值為 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 參數及 createIdMgrRealm 或 updateIdMgrRealm wsadmin 指令的相關資訊,請參閱 WebSphere Application Server 說明文件中的 IdMgrRealmConfig 指令群組 AdminTask 物件。 (如果您使用 WebSphere Application Server 6.1,若要停用此安全特性,請先套用 PK78677 修補程式或安裝 WebSphere Application Server 修正套件 6.1.0.23 或更新版本,然後相應地變更配置。)