[rules-users] how to update object modified by call to remote web service

lhorton LHorton at ABCLegal.com
Thu Aug 4 19:46:16 EDT 2011


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-to-remote-web-service-tp3204887p3227109.html
Sent from the Drools: User forum mailing list archive at Nabble.com.



More information about the rules-users mailing list