flowable自定义流程定义缓存


场景:当大量的流程定义出现的时候,我们势必会不停的查询流程定义,然而流程定义之后和版本对应很少发生变化,这个时候,我们可以把这个流程定义缓存起来,以提高系统性能。

这里我采用的是本地缓存

1、定义流程定义缓存对象

 
 
@Component
public class CustomDeploymentCache implements DeploymentCache<ProcessDefinitionCacheEntry> {
// @Autowired
// private CacheManager cacheManager;
public static final Map<String,ProcessDefinitionCacheEntry> caches = new ConcurrentHashMap<>();

@Override
public ProcessDefinitionCacheEntry get(String s) {
return caches.get(s);
}

@Override
public boolean contains(String s) {
boolean flag = false;
if (caches.get(s) != null) {
flag = true;
}
return flag;
}

@Override
public void add(String s, ProcessDefinitionCacheEntry processDefinitionCacheEntry) {
caches.put(s, processDefinitionCacheEntry);
}

@Override
public void remove(String s) {
caches.remove(s);
}

@Override
public void clear() {
caches.clear();
}
}
 

2、配置缓存

//设置缓存
        configure.setProcessDefinitionCache(customDeploymentCache);

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM