一、简介
因为流程定义的数据不会改变,为了避免每次使用流程定义时都访问数据库,所有的流程定义在解析后,都会加入缓存。
二、添加缓存限制
默认情况下,对缓存没有限制。可使用如下配置,设置对缓存的限制:
<property name="processDefinitionCacheLimit" value="10" />
设置此属性将使用提供硬限制的LRU(近期最少使用算法)缓存替换默认的hashmap。最理想的值设置取决于流程定义的总数和流程实例运行时实际需要的流程定义数量。
三、自定义缓存
也可以通过如下配置注入自定义的缓存实现。自定义的缓存必须实现org.activiti.engine.impl.persistence.deploy.DeploymentCache接口:
<property name="processDefinitionCache">
<bean class="org.activiti.MyCache" />
</property>
四、其他缓存配置
使用规则任务时需要配置knowledgeBaseCacheLimit和knowledgeBaseCache属性,属性配置与流程定义相似。