Во время решающей фразы OptaPlanner я хочу обновить глобальную переменную. Изменения глобальной переменной изменят мою следующую проверку правил.
Результат.java
package com.domain;
public static boolean status;
...
...
Образец.drl
import org.optaplanner.core.api.score.buildin.hardsoft.HardSoftScoreHolder;
import com.domain.Result;
global HardSoftScoreHolder scoreHolder;
rule "Sample Rule"
when
$PlanningEntity:PlanningEntity()
then
somelogic($PlanningEntity);
if(Result.status){
scoreHolder.addHardConstraintMatch(kcontext, -500);
}
end
function void somelogic(PlanningEntity planningEntity){
if(condition 1...){
Result.status = true;
}else if(condition 2...){
Result.status = false;
}else{
//Do Nothing
}
}
Мой вопрос:
Как я могу объявить статическую глобальную переменную для сеанса решения. (Чтобы избежать одновременного использования решателя OptaPlanner несколькими пользователями.)