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