Sun Java System Access Manager 7 2005Q4 发行说明

CR# 6452320:在客户机 SDK 中使用轮询时抛出异常

若在部署 Access Manager 客户机 SDK (amclientsdk.jar) 后启用轮询,可能发生如下错误:

错误:发送轮询错误:
com.iplanet.am.util.ThreadPoolException:
amSessionPoller 线程池的作业队列已满。

部署分布式验证 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

在拥有 4 GB RAM 的客户机上部署了分布式验证 UI 服务器或 Access Manager 客户机 SDK 后,应在客户机端的 AMAgent.properties AMConfig.properties 文件中设置类似的值。