AM pool中的AM实例的生命周期

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的参数和配置方法

你可能感兴趣的:(生命周期)