public void init() {
   List<ProcessInstanceBOInfo> infoes =
       processInstanceBOService.getAllNormalProcessInstanceBOInfo();
   if (infoes != null && infoes.size() > 0) {
     for (ProcessInstanceBOInfo info : infoes) {
       put(info.getProcessId(), info.getBusinessId(), info.getProcessInstanceId());
     }
   }
 }
 public Long getProcessInstanceId(String processId, String businessId) {
   Long value = processInstanceIdCache.get(processId + "_" + businessId);
   if (value == null) {
     synchronized (ProcessInstanceBOCache.class) {
       if (value == null) {
         logger.info("fetch from database");
         ProcessInstanceBOInfo info =
             processInstanceBOService.getProcessInstanceBOInfo(processId, businessId);
         value = info != null ? info.getProcessInstanceId() : null;
         if (value != null) {
           put(processId, businessId, value);
         }
       }
     }
   }
   return value;
 }