Business Rule Task - Update error: handle not found for object: Is it in the working memory?

836 views
Skip to first unread message

Nick

unread,
Nov 11, 2015, 6:50:06 AM11/11/15
to Drools Usage


Hi,

I am using business rule task in jBPM.

I have POJOs

public class Assessment {

 @ManyToOne
   @JoinColumn(name = "member_id")
   private Member member;
...

}

public class Member {

     @OneToMany(mappedBy = "member", orphanRemoval = true)
    private java.util.List<Attribute> attributes;
}


public class Attribute {

     private java.lang.String description;

   private java.util.Date endDate;
  
   @com.fasterxml.jackson.annotation.JsonIgnore
   @ManyToOne
   private Member member;
 
}


I set assessment object to process variable. Assessment object has Member and Member has a list of Attribute objects.

I have a business rule task implemented using decision table below.



I got the following error. Any idea how to resolve this problem?

Caused by: java.lang.RuntimeException: Update error: handle not found for object: com.embeddedwireless.healthdesk.Attribute@2867c29d. Is it in the working memory?
    at org.drools.core.base.DefaultKnowledgeHelper.getFactHandle(DefaultKnowledgeHelper.java:371) ~[drools-core-6.2.0.Final.jar:6.2.0.Final]
    at com.embeddedwireless.healthdesk.Rule_GPCOG_ArchieveAttributes_141446018359.defaultConsequence(Rule_GPCOG_ArchieveAttributes_141446018359.java:9) ~[na:na]
    at com.embeddedwireless.healthdesk.Rule_GPCOG_ArchieveAttributes_141446018359DefaultConsequenceInvokerGenerated.evaluate(Unknown Source) ~[na:na]
    at com.embeddedwireless.healthdesk.Rule_GPCOG_ArchieveAttributes_141446018359DefaultConsequenceInvoker.evaluate(Unknown Source) ~[na:na]
    at org.drools.core.common.DefaultAgenda.fireActivation(DefaultAgenda.java:1114) ~[drools-core-6.2.0.Final.jar:6.2.0.Final]

--Nick

Auto Generated Inline Image 1

Nick

unread,
Nov 11, 2015, 6:53:16 AM11/11/15
to Drools Usage

The code generated from the decision table is as following


1.|package com.embeddedwireless.healthdesk;
2.|//generated from Decision Table
3.|import com.embeddedwireless.healthdesk.PlanOfCare;
4.|import com.embeddedwireless.healthdesk.Goal;
5.|import com.embeddedwireless.healthdesk.Intervention;
6.|import com.embeddedwireless.healthdesk.Attribute;
7.|// rule values at C14, header at C9
8.|rule "GPCOG_ArchieveAttributes_14"
9.|    no-loop true
10.|    ruleflow-group "ArchieveAttributes"
11.|    when
12.|        Assessment($attrs: member.attributes)
13.|$attr:Attribute() from $attrs
14.|    then
15.|        System.out.println(((Attribute)$attr).getDescription());
16.|((Attribute)$attr).setEndDate(new Date());
17.|update($attr);
18.|end

murali mohan

unread,
Nov 12, 2015, 7:10:15 AM11/12/15
to Drools Usage
You will have to update the Assessment object as that is the one in the working memory, not attribute.

Nick

unread,
Nov 16, 2015, 12:20:31 AM11/16/15
to Drools Usage
Hi Murali,

Thank you very much for the answer. Now I face a new problem: https://groups.google.com/forum/#!topic/drools-usage/l2fSWtivwrs

Hope you can help me.

Jainath Gupta

unread,
Dec 9, 2017, 4:36:39 AM12/9/17
to Drools Usage
what is mean ? Should I update or not ? If I update I got same error.
Reply all
Reply to author
Forward
0 new messages