I have a rule package that has 1000+ rules, these rules are getting executed
for a set of members(more than 1000) on their facts one by one,
in this process a few random rules (one of them is listed below) are
throwing exception at run time as listed below randomly for some members 
every time. I checked rules that are working fine in my test. I am not sure
why this is happening, please advice.


I would appreciate your valuable assistence in advance.


============Rule============================
package com.cigna.coderunner.external.rules;

import com.cigna.acme.domains.ccdm._2010._03.CaseManagement;
import com.cigna.coderunner.engine.ccdm.value.ProfileFact;
import com.cigna.coderunner.engine.ccdm.value.ConditionFact;
import com.cigna.acme.domains.ccdm._2010._03.PrePostDischrgManagement;
import com.cigna.coderunner.engine.ccdm.value.Member;
import com.cigna.coderunner.engine.ccdm.value.RiskFact;
import com.cigna.coderunner.engine.ccdm.value.MemberBiometric;
import com.cigna.coderunner.engine.ccdm.value.MemberPreferences;
import com.cigna.coderunner.engine.ccdm.value.Product;
import java.util.List;
import com.cigna.acme.domains.derived.fact._2010._03.DerivedFact;
import com.cigna.acme.domains.derived.fact._2010._03.FactAttributes;
import com.cigna.acme.domains.derived.fact._2010._03.FactCategoryType;
import com.cigna.acme.domains.actions._2010._03.QuestionAnswer;
import com.cigna.acme.domains.actions._2010._03.AutoOutreachActionType;
import com.cigna.acme.domains.actions._2010._03.ActionInfo;
import com.cigna.acme.domains.common._2010._03.FactSourceClassificationType;
import com.cigna.acme.domains.actions._2010._03.FulfillmentActionType;
import com.cigna.coderunner.drools.operators.ValueEvaluatorDefinition;
import com.cigna.acme.domains.actions._2010._03.AssessmentActionType;
import com.cigna.acme.domains.roadmap._2010._03.ServiceRoadMapInfo;
import com.cigna.acme.domains.common._2010._03.Attribute;
import com.cigna.acme.domains.derived.fact._2010._03.FactValueType;
import org.joda.time.DateTime;


global com.cigna.coderunner.drools.util.DrlHelper drlHelper;

rule "derivedFact Rule:59070:0:1292262841194" 
         salience -0
         dialect "mvel"
         activation-group "derivedFact Rule:59070:0:1292262841194"
         agenda-group "derivedFact"
         when
                DerivedFact( defId != null , defId == "52600" , 
                ( factValue == null || factValue.value == null || 
factValue.value ==
"null" || factValue.value.length == 0 ) )

         then
DerivedFact derivedfact = new DerivedFact();
derivedfact.setDefId("59070");
derivedfact.setOrigInferredDt(new DateTime());
derivedfact.setFactSource(FactSourceClassificationType.ACME_DERIVED_FACT);
FactValueType factValueType = new FactValueType();
factValueType.setValue("true");
factValueType.setType("boolean");
derivedfact.setFactValue(factValueType);
insertLogical(derivedfact);
System.out.println("#############################################");
System.out.println("#Rule with Fact Def ID#59070 with Salience 0
Successfully executed#");
System.out.println("#############################################");
end

===============================Execption==============

java.lang.ClassCastException: java.lang.Class incompatible with
org.mvel2.util.MethodStub
        at
org.mvel2.ParserConfiguration.getStaticImport(ParserConfiguration.java:71)
        at org.mvel2.ParserContext.getStaticImport(ParserContext.java:246)
        at 
org.mvel2.compiler.PropertyVerifier.getMethod(PropertyVerifier.java:324)
        at 
org.mvel2.compiler.PropertyVerifier.analyze(PropertyVerifier.java:106)
        at
org.mvel2.compiler.ExpressionCompiler.verify(ExpressionCompiler.java:363)
        at
org.mvel2.compiler.ExpressionCompiler._compile(ExpressionCompiler.java:258)
        at org.mvel2.util.ParseTools.subCompileExpression(ParseTools.java:1895)
        at
org.mvel2.optimizers.impl.refl.ReflectiveAccessorOptimizer.getMethod(ReflectiveAccessorOptimizer.java:840)
        at
org.mvel2.optimizers.impl.refl.ReflectiveAccessorOptimizer.compileGetChain(ReflectiveAccessorOptimizer.java:314)
        at
org.mvel2.optimizers.impl.refl.ReflectiveAccessorOptimizer.optimizeAccessor(ReflectiveAccessorOptimizer.java:137)
        at org.mvel2.ast.ASTNode.getReducedValueAccelerated(ASTNode.java:137)
        at org.mvel2.MVELRuntime.execute(MVELRuntime.java:85)
        at
org.mvel2.compiler.CompiledExpression.getValue(CompiledExpression.java:104)
        at org.mvel2.MVEL.executeExpression(MVEL.java:995)
        at 
org.drools.base.mvel.MVELConsequence.evaluate(MVELConsequence.java:71)
        at 
org.drools.common.DefaultAgenda.fireActivation(DefaultAgenda.java:917)
        at org.drools.common.DefaultAgenda.fireNextItem(DefaultAgenda.java:856)
        at org.drools.common.DefaultAgenda.fireAllRules(DefaultAgenda.java:1071)
        at
org.drools.common.AbstractWorkingMemory.fireAllRules(AbstractWorkingMemory.java:785)
        at
org.drools.common.AbstractWorkingMemory.fireAllRules(AbstractWorkingMemory.java:751)
        at
org.drools.impl.StatefulKnowledgeSessionImpl.fireAllRules(StatefulKnowledgeSessionImpl.java:218)
        at
com.cigna.coderunner.drools.session.impl.StatefulKnowledgeSessionWrapper.fireAllRules(StatefulKnowledgeSessionWrapper.java:161)
        at
com.cigna.coderunner.service.evaluation.impl.EvaluationServiceImpl.executeDerivedFactProducingRules(EvaluationServiceImpl.java:156)
        at
com.cigna.coderunner.service.evaluation.impl.EvaluationServiceImpl.evaluateAtInitialization(EvaluationServiceImpl.java:119)
        at
com.cigna.coderunner.service.outreach.impl.OutreachServiceImpl.initializeOutreachState(OutreachServiceImpl.java:149)
        at
com.cigna.coderunner.engine.service.impl.OutreachBatchServiceImpl.execute(OutreachBatchServiceImpl.java:27)
        at
com.cigna.coderunner.engine.service.impl.OutreachBatchServiceImpl$$FastClassByCGLIB$$d77d8173.invoke(<generated>)
        at net.sf.cglib.proxy.MethodProxy.invoke(MethodProxy.java:149)
        at
org.springframework.aop.framework.Cglib2AopProxy$CglibMethodInvocation.invokeJoinpoint(Cglib2AopProxy.java:700)
        at
org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:152)
        at
org.springframework.aop.aspectj.AspectJAfterThrowingAdvice.invoke(AspectJAfterThrowingAdvice.java:54)
        at
org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
        at
org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:89)
        at
org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
        at
org.springframework.aop.framework.Cglib2AopProxy$DynamicAdvisedInterceptor.intercept(Cglib2AopProxy.java:635)
        at
com.cigna.coderunner.engine.service.impl.OutreachBatchServiceImpl$$EnhancerByCGLIB$$17882964.execute(<generated>)
        at
com.cigna.coderunner.engine.service.impl.MedicalManagementBatchServiceImpl.execute(MedicalManagementBatchServiceImpl.java:39)
        at
com.cigna.coderunner.engine.service.impl.MedicalManagementBatchServiceImpl$$FastClassByCGLIB$$beccc87c.invoke(<generated>)
        at net.sf.cglib.proxy.MethodProxy.invoke(MethodProxy.java:149)
        at
org.springframework.aop.framework.Cglib2AopProxy$CglibMethodInvocation.invokeJoinpoint(Cglib2AopProxy.java:700)
        at
org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:152)
        at
org.springframework.aop.aspectj.AspectJAfterThrowingAdvice.invoke(AspectJAfterThrowingAdvice.java:54)
        at
org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
        at
org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:89)
        at
org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
        at
org.springframework.aop.framework.Cglib2AopProxy$DynamicAdvisedInterceptor.intercept(Cglib2AopProxy.java:635)
        at
com.cigna.coderunner.engine.service.impl.MedicalManagementBatchServiceImpl$$EnhancerByCGLIB$$291a1d07.execute(<generated>)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:48)
        at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37)
        at java.lang.reflect.Method...
        
        
thx,
Brijesh Singh
-- 
View this message in context: 
http://drools-java-rules-engine.46999.n3.nabble.com/Subject-ClassCastException-in-MVEL-with-org-mvel2-util-MethodStub-tp2169490p2169490.html
Sent from the Drools - Dev mailing list archive at Nabble.com.
_______________________________________________
rules-dev mailing list
rules-dev@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-dev

Reply via email to