Yes, you're right: it's because of performance reasons during incremental
score calculation.
If a CloudComputer changes during planning too, it should be set as dirty in
Drools by Planner calling (workingMemory.modify(computer)). If the whole
computer is made dirty, that has a serious effect on incremental score
calculation. However, since recently drools supports making individual
fields dirty, so there is definitely room for innovation there.
I 've been thinking about supporting bi-directional planning variables in
Planner (think JPA mappedBy), but haven't gotten around to it yet.
Now, currently, that doesn't mean you can't model CloudComputer with a
getProcessList, it just means you can't use CloudComputer.getProcessList()
in the score rules or custom planner code (if any) currently (until
bi-directional planning variables are supported). Also, you might need to
take the getBestSolution() and refresh all it's computer's
getProcessList()'s before sending it to your other systems.
--
View this message in context:
http://drools.46999.n3.nabble.com/Planner-and-domain-modeling-tp4018117p4...
Sent from the Drools: User forum mailing list archive at
Nabble.com.