部署 Access Manager 用戶端 SDK (amclientsdk.jar) 並啟用輪詢時,會發生如下錯誤:
ERROR: Send Polling Error: com.iplanet.am.util.ThreadPoolException: amSessionPoller thread pool's task queue is full.
在部署分散式認證 UI 伺服器、J2EE 代理程式之後,或在用戶端機器上部署了 Access Manager 用戶端 SDK 的情況下,都可能發生此類錯誤。
解決方法:如果只有幾百個同步運作的階段作業,請將下列特性及值加入 AMConfig.properties 檔案或 AMAgents.properties 檔案:
com.sun.identity.session.polling.threadpool.size=10 com.sun.identity.session.polling.threadpool.threshold=10000
如果有數千個或數萬個階段作業,則這些值應該設定成與執行 amtune-identity 程序檔後,Access Manager AMConfig.properties 檔案中通知的值相同。例如,對於具有 4 GB RAM 的機器,Access Manager amtune-identity 程序檔會設定下列值:
com.sun.identity.session.notification.threadpool.size=28 com.sun.identity.session.notification.threadpool.threshold=76288
當分散式認證 UI 伺服器或 Access Manager 用戶端 SDK 部署在具有 4GB RAM 的用戶端機器上時,請在用戶端的 AMAgent.properties 或 AMConfig.properties 檔案中設定類似的值。