AM缓冲池中的AM实例会随着客户端请求的增加而增长。
相对于增长,负责清除操作的是存在于Java虚拟机中的monitor,该monitor在每jbo.ampool.monitorsleepinterval时间后进行AM的清除操作。清除的对象先考虑是否有AM实例的inactive时间大于jbo.ampool.maxinactiveage,如果是就清除,清除尚未达到jbo.ampool.maxavailablesize,就使用其定义的算法对其他对象进行清除操作。
AM缓冲池中保留AM实例的上下限由jbo.ampool.minavailablesize和jbo.ampool.maxavailablesize来定义。不过,除这些参数外,jbo.ampool.timetolive会定义每个AM实例在超过该时间后被强制清除出缓冲池,这样AM缓冲池中的AM实例最终会达到数量0;同时,如果定义jbo.doconnectionpooling为true的情况下,AM实例中关联的数据库连接也将被释放。
如果你不希望AM实例数量下降太快,可以加大jbo.ampool.maxinactiveage、jbo.ampool.monitorsleepinterval、以及jbo.ampool.timetolive的值。
有关AM的更多介绍可以参考我的另一篇文章:ADF BC中AM的参数和配置方法
AM缓冲池管理与配置
本文详细解释了AM缓冲池中的AM实例如何随客户端请求增长,并介绍了Java虚拟机中的monitor负责的清除操作机制。文章还讨论了AM缓冲池中AM实例的数量限制、存活时间以及如何通过调整参数来控制实例数量,确保资源高效利用。
4144

被折叠的 条评论
为什么被折叠?



