Hi all,I has implemented process definition cache using hazelcast, it seems work fine but today we have a problem with it:After parallel gateway joined, it was stuck in this parallel gateway.After debug the code, I saw that method <b>findInactiveConcurrentExecutions</b> in class: <b>org.activiti.engine.impl.persistence.entity.ExecutionEntity</b>
for (ActivityExecution concurrentExecution: concurrentExecutions) {
if (concurrentExecution.getActivity()==activity) {
if (!concurrentExecution.isActive()) {
inactiveConcurrentExecutionsInActivity.add(concurrentExecution);
}
} else {
otherConcurrentExecutions.add(concurrentExecution);
}
}
Although we have 2 execution joined, the condition concurrentExecution.getActivity()==activity
always happen only 1 time. It seems because each call to hazelcast to get process definition from cache, it returns difference object instance –> memory address is difference.Why do we compare memory address here, could we compare like that: concurrentExecution.getActivity().getId().equals(activity.getId())
?Thanks 