Here are the key models
18. | declare VmsSign
19. | displayType: String
20. | routeName: String
21. | routeMileMarker: java.math.BigDecimal
22. | signId: Integer
23. | gisLocationLat: java.math.BigDecimal
24. | gisLocationLon: java.math.BigDecimal
25. | templateSize: String
26. | end
57. | declare RoutingIncreasing
58. | routeName: String
59. | isIncreasing: Boolean
60. | end
David
David R Robison
Open Roads Consulting, Inc.
103 Watson Road, Chesapeake, VA 23320
phone: (757) 546-3401
e-mail: drrobison(a)openroadsconsulting.com
web:
http://openroadsconsulting.com
blog:
http://therobe.blogspot.com
book:
http://www.xulonpress.com/bookstore/bookdetail.php?PB_ISBN=9781597816526
On 12/20/2012 1:11 PM, David R Robison wrote:
Here is the original rule
1. | rule "Select closest upstream VMS Sign on same route"
2. | salience -200
3. | no-loop true
4. | dialect "mvel"
5. | when
6. | not IncidentWithVmsSign()
7. | $incident : Incident()
8. | $incidentRoutingIncreasing :
RoutingIncreasing(routeName == $incident.routeName)
9. | $sign : VmsSign($incident.routeName == routeName)
10. | not VmsSign(($incidentRoutingIncreasing.isIncreasing
&& $sign.routeMileMarker > routeMileMarker) ||
(!$incidentRoutingIncreasing.isIncreasing && $sign.routeMileMarker <
routeMileMarker))
11. | then
12. | insert(new IncidentWithVmsSign($incident, $sign));
13. | end
Any thoughts would be helpful. David
David R Robison
Open Roads Consulting, Inc.
103 Watson Road, Chesapeake, VA 23320
phone: (757) 546-3401
e-mail:drrobison@openroadsconsulting.com
web:http://openroadsconsulting.com
blog:http://therobe.blogspot.com
book:http://www.xulonpress.com/bookstore/bookdetail.php?PB_ISBN=978159781...
On 12/20/2012 9:03 AM, David R Robison wrote:
> I have a rule that runs fine when I execute it inside Guvnor in a Test
> Scenario but when I run it in production I get the following error.
>
> Exception in thread "Thread-24" java.lang.RuntimeException: Exception
> jitting: $incidentRoutingIncreasing.isIncreasing &&
> $sign.routeMileMarker > routeMileMarker ||
> !$incidentRoutingIncreasing.isIncreasing && $sign.routeMileMarker <
> routeMileMarker
> at
> org.drools.rule.constraint.MvelConstraint.executeJitting(MvelConstraint.java:219)
> at
> org.drools.rule.constraint.MvelConstraint.access$000(MvelConstraint.java:41)
> at
> org.drools.rule.constraint.MvelConstraint$1.run(MvelConstraint.java:201)
> at
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
> at
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
> at java.lang.Thread.run(Thread.java:722)
> Caused by: java.lang.VerifyError: (class:
> ConditionEvaluatorebdfa6ebae044e95bc706dfcd6f5654a, method: evaluate
> signature:
>
(Ljava/lang/Object;Lorg/drools/common/InternalWorkingMemory;Lorg/drools/reteoo/LeftTuple;)Z)
> Expecting to find integer on stack
> at java.lang.Class.getDeclaredConstructors0(Native Method)
> at java.lang.Class.privateGetDeclaredConstructors(Class.java:2404)
> at java.lang.Class.getConstructor0(Class.java:2714)
> at java.lang.Class.getConstructor(Class.java:1674)
> at
>
org.drools.rule.builder.dialect.asm.ClassGenerator.newInstance(ClassGenerator.java:173)
> at
>
org.drools.rule.constraint.ASMConditionEvaluatorJitter.jitEvaluator(ASMConditionEvaluatorJitter.java:53)
> at
> org.drools.rule.constraint.MvelConstraint.executeJitting(MvelConstraint.java:217)
> ... 5 more
>
> The rule does seem to fire. Any idea what it is trying to tell me or any
> hints on how to debug this?
> TNX David
>
This email communication (including any attachments) may contain confidential and/or
privileged material intended solely for the individual or entity to which it is
addressed.
If you are not the intended recipient, please delete this email immediately.