I now have a more complex problem to solve involving this RMI issue and would
like some advice. I will state this as a simplified example to help explain
the problem.
Assume an object hierarchy:
there is a Job, which has two attributes, a name and a list of Step objects.
Each Step also has a name.
before rules execute, create an instance of Job with no name.
Add two Steps to the Job's step list: one step is named "one" and the
other
is named "two"
the knowledge session has a global named "rmiService" that is a remote
application service.
knowledge session also has a global named "results" that is a List (this is
my Box)
there are two rules:
rule1
when
$step : Step(name="one")
then
$step = rmiService.setJobName($step, "i belong to step one"); // sets the
name of the step's job
results.add($step);
end
rule2
when
$step : Step(name="two")
then
$step = rmiService.setJobName($step, "i belong to step two");
results.add($step);
end
call execute() on the session, passing in the Step objects.
assume that both rules fire. after execution, the results global contains
two objects: the step named "one" has a parent job with name "I belong to
step one" and step named "two" has a parent job with name "i belong to
step
two" - in other words, they no longer have the same parent Job.
I can't figure out how I can keep a hierarchy of objects updated when there
are multiple RMI calls in the same session.
--
View this message in context:
http://drools.46999.n3.nabble.com/how-to-update-object-modified-by-call-t...
Sent from the Drools: User forum mailing list archive at
Nabble.com.