<br>&nbsp;&nbsp; What are you guys doing with CGLIB? or is this WebSphere doing some sneaky thing behind the scenes? Or is it SpringAOP doing sneaky things?<br><br>Caused by:<br>
java.lang.ClassCastException: com.adesa.data.grounding.pojo.Inventory<br><div id=":zo" class="ArwC7c ckChnd">
incompatible with<br>
com.adesa.data.grounding.pojo.Inventory$$EnhancerByCGLIB$$de81aab3<br><br>&nbsp;&nbsp; At compile time we determine that &quot;inventory&quot; is a com.adesa.data.grounding.pojo.Inventory. If at runtime what arrives into the expression is a com.adesa.data.grounding.pojo.<div id=":zo" class="ArwC7c ckChnd">
Inventory$$EnhancerByCGLIB$$de81aab3, and it is not a proper subclass, you might get such problems.<br><br>&nbsp;&nbsp; Having said that, I will talk to Mike to check if this can be prevented somehow, but I really don&#39;t know if it will be possible...<br>
<br>&nbsp;&nbsp; []s<br>&nbsp;&nbsp; Edson<br></div><br></div><br><br><div class="gmail_quote">2008/11/25 seemamani <span dir="ltr">&lt;<a href="mailto:seemamani@gmail.com">seemamani@gmail.com</a>&gt;</span><br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<br>
hi,<br>
<br>
We are using Drools 4.0.7 in a web application deployed in WebSphere 6.1.<br>
Occasionally, we have rule engine failure caused by RuntimeDroolsException<br>
(whose root cause is shown as ClassCastException) when firing rules. Other<br>
times, the rules are executing without errors. Here is the stack trace of<br>
the exception. What are the possible reasons?<br>
<br>
Thanks,<br>
Seema<br>
<br>
org.drools.RuntimeDroolsException: Exception executing predicate eval(<br>
inventory.leaseInformation != null )<br>
 &nbsp; &nbsp; &nbsp; &nbsp;at<br>
org.drools.rule.PredicateConstraint.isAllowed(PredicateConstraint.java:216)<br>
 &nbsp; &nbsp; &nbsp; &nbsp;at org.drools.reteoo.AlphaNode.assertObject(AlphaNode.java:137)<br>
 &nbsp; &nbsp; &nbsp; &nbsp;at<br>
org.drools.reteoo.CompositeObjectSinkAdapter.propagateAssertObject(CompositeObjectSinkAdapter.java:318)<br>
 &nbsp; &nbsp; &nbsp; &nbsp;at org.drools.reteoo.AlphaNode.assertObject(AlphaNode.java:145)<br>
 &nbsp; &nbsp; &nbsp; &nbsp;at<br>
org.drools.reteoo.CompositeObjectSinkAdapter.propagateAssertObject(CompositeObjectSinkAdapter.java:318)<br>
 &nbsp; &nbsp; &nbsp; &nbsp;at org.drools.reteoo.ObjectTypeNode.assertObject(ObjectTypeNode.java:162)<br>
 &nbsp; &nbsp; &nbsp; &nbsp;at org.drools.reteoo.Rete.assertObject(Rete.java:175)<br>
 &nbsp; &nbsp; &nbsp; &nbsp;at org.drools.reteoo.ReteooRuleBase.assertObject(ReteooRuleBase.java:192)<br>
 &nbsp; &nbsp; &nbsp; &nbsp;at<br>
org.drools.reteoo.ReteooWorkingMemory.doInsert(ReteooWorkingMemory.java:71)<br>
 &nbsp; &nbsp; &nbsp; &nbsp;at<br>
org.drools.common.AbstractWorkingMemory.insert(AbstractWorkingMemory.java:911)<br>
 &nbsp; &nbsp; &nbsp; &nbsp;at<br>
org.drools.common.AbstractWorkingMemory.insert(AbstractWorkingMemory.java:883)<br>
 &nbsp; &nbsp; &nbsp; &nbsp;at<br>
org.drools.common.AbstractWorkingMemory.insert(AbstractWorkingMemory.java:684)<br>
 &nbsp; &nbsp; &nbsp; &nbsp;at<br>
com.adesa.business.framework.rules.process.drools.ManagedStatefulSession.init(ManagedStatefulSession.java:87)<br>
 &nbsp; &nbsp; &nbsp; &nbsp;at<br>
com.adesa.business.framework.rules.process.drools.ManagedStatefulSession.fireAllRules(ManagedStatefulSession.java:100)<br>
 &nbsp; &nbsp; &nbsp; &nbsp;at<br>
com.adesa.business.framework.rules.process.drools.RuleEngineImpl.execute(RuleEngineImpl.java:60)<br>
 &nbsp; &nbsp; &nbsp; &nbsp;at<br>
com.adesa.business.framework.rules.interceptor.RulesInterceptor.applyAnnotedRules(RulesInterceptor.java:109)<br>
 &nbsp; &nbsp; &nbsp; &nbsp;at<br>
com.adesa.business.framework.rules.interceptor.RulesInterceptor.applyRules(RulesInterceptor.java:80)<br>
 &nbsp; &nbsp; &nbsp; &nbsp;at sun.reflect.GeneratedMethodAccessor575.invoke(Unknown Source)<br>
 &nbsp; &nbsp; &nbsp; &nbsp;at<br>
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)<br>
 &nbsp; &nbsp; &nbsp; &nbsp;at java.lang.reflect.Method.invoke(Method.java:618)<br>
 &nbsp; &nbsp; &nbsp; &nbsp;at<br>
org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:597)<br>
 &nbsp; &nbsp; &nbsp; &nbsp;at<br>
org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:583)<br>
 &nbsp; &nbsp; &nbsp; &nbsp;at<br>
org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:60)<br>
 &nbsp; &nbsp; &nbsp; &nbsp;at<br>
org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)<br>
 &nbsp; &nbsp; &nbsp; &nbsp;at<br>
org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:89)<br>
 &nbsp; &nbsp; &nbsp; &nbsp;at<br>
org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)<br>
 &nbsp; &nbsp; &nbsp; &nbsp;at<br>
org.springframework.aop.framework.Cglib2AopProxy$DynamicAdvisedInterceptor.intercept(Cglib2AopProxy.java:629)<br>
 &nbsp; &nbsp; &nbsp; &nbsp;at<br>
com.adesa.business.rules.RuleHandler$$EnhancerByCGLIB$$3ab6eda.fireUpdatePricing(&lt;generated&gt;)<br>
 &nbsp; &nbsp; &nbsp; &nbsp;at<br>
com.adesa.business.auction.manager.SaleEventManagerImpl.updatePricing(SaleEventManagerImpl.java:2599)<br>
 &nbsp; &nbsp; &nbsp; &nbsp;at<br>
com.adesa.business.auction.manager.SaleEventManagerImpl.cascadeAtEndOfAuction(SaleEventManagerImpl.java:1993)<br>
 &nbsp; &nbsp; &nbsp; &nbsp;at<br>
com.adesa.business.auction.manager.SaleEventManagerImpl.cascadeAtEndOfGroundingSaleEventForHyundai(SaleEventManagerImpl.java:1783)<br>
 &nbsp; &nbsp; &nbsp; &nbsp;at<br>
com.adesa.business.auction.manager.SaleEventManagerImpl.cascadeAtEndOfGroundingSaleEvent(SaleEventManagerImpl.java:1180)<br>
 &nbsp; &nbsp; &nbsp; &nbsp;at<br>
com.adesa.business.auction.manager.SaleEventManagerImpl.cascadeAtEndOfGroundingSaleEvent(SaleEventManagerImpl.java:1134)<br>
 &nbsp; &nbsp; &nbsp; &nbsp;at<br>
com.adesa.business.auction.service.AuctionServiceImpl.cascadeAtEndOfGroundingSaleEvent(AuctionServiceImpl.java:766)<br>
 &nbsp; &nbsp; &nbsp; &nbsp;at sun.reflect.GeneratedMethodAccessor263.invoke(Unknown Source)<br>
 &nbsp; &nbsp; &nbsp; &nbsp;at<br>
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)<br>
 &nbsp; &nbsp; &nbsp; &nbsp;at java.lang.reflect.Method.invoke(Method.java:618)<br>
 &nbsp; &nbsp; &nbsp; &nbsp;at<br>
org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:304)<br>
 &nbsp; &nbsp; &nbsp; &nbsp;at<br>
org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:182)<br>
 &nbsp; &nbsp; &nbsp; &nbsp;at<br>
org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:149)<br>
 &nbsp; &nbsp; &nbsp; &nbsp;at<br>
org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:106)<br>
 &nbsp; &nbsp; &nbsp; &nbsp;at<br>
org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)<br>
 &nbsp; &nbsp; &nbsp; &nbsp;at<br>
org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed(MethodInvocationProceedingJoinPoint.java:77)<br>
 &nbsp; &nbsp; &nbsp; &nbsp;at<br>
com.adesa.business.framework.logging.LoggingInterceptor.profileLog(LoggingInterceptor.java:136)<br>
 &nbsp; &nbsp; &nbsp; &nbsp;at sun.reflect.GeneratedMethodAccessor74.invoke(Unknown Source)<br>
 &nbsp; &nbsp; &nbsp; &nbsp;at<br>
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)<br>
 &nbsp; &nbsp; &nbsp; &nbsp;at java.lang.reflect.Method.invoke(Method.java:618)<br>
 &nbsp; &nbsp; &nbsp; &nbsp;at<br>
org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:597)<br>
 &nbsp; &nbsp; &nbsp; &nbsp;at<br>
org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:583)<br>
 &nbsp; &nbsp; &nbsp; &nbsp;at<br>
org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:60)<br>
 &nbsp; &nbsp; &nbsp; &nbsp;at<br>
org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)<br>
 &nbsp; &nbsp; &nbsp; &nbsp;at<br>
org.springframework.aop.framework.adapter.AfterReturningAdviceInterceptor.invoke(AfterReturningAdviceInterceptor.java:50)<br>
 &nbsp; &nbsp; &nbsp; &nbsp;at<br>
org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)<br>
 &nbsp; &nbsp; &nbsp; &nbsp;at<br>
org.springframework.aop.aspectj.AspectJAfterThrowingAdvice.invoke(AspectJAfterThrowingAdvice.java:54)<br>
 &nbsp; &nbsp; &nbsp; &nbsp;at<br>
org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)<br>
 &nbsp; &nbsp; &nbsp; &nbsp;at<br>
org.springframework.aop.framework.adapter.MethodBeforeAdviceInterceptor.invoke(MethodBeforeAdviceInterceptor.java:50)<br>
 &nbsp; &nbsp; &nbsp; &nbsp;at<br>
org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)<br>
 &nbsp; &nbsp; &nbsp; &nbsp;at<br>
org.springframework.aop.aspectj.AspectJAfterThrowingAdvice.invoke(AspectJAfterThrowingAdvice.java:54)<br>
 &nbsp; &nbsp; &nbsp; &nbsp;at<br>
org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)<br>
 &nbsp; &nbsp; &nbsp; &nbsp;at<br>
org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:89)<br>
 &nbsp; &nbsp; &nbsp; &nbsp;at<br>
org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)<br>
 &nbsp; &nbsp; &nbsp; &nbsp;at<br>
org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204)<br>
 &nbsp; &nbsp; &nbsp; &nbsp;at $Proxy58.cascadeAtEndOfGroundingSaleEvent(Unknown Source)<br>
 &nbsp; &nbsp; &nbsp; &nbsp;at<br>
com.adesa.business.pricing.ejb.PricingBean.updateMBPPrice(PricingBean.java:112)<br>
 &nbsp; &nbsp; &nbsp; &nbsp;at<br>
com.adesa.business.pricing.ejb.EJSRemoteStatelessPricing_a0966b04.updateMBPPrice(EJSRemoteStatelessPricing_a0966b04.java:183)<br>
 &nbsp; &nbsp; &nbsp; &nbsp;at<br>
com.adesa.business.pricing.ejb._EJSRemoteStatelessPricing_a0966b04_Tie.updateMBPPrice(_EJSRemoteStatelessPricing_a0966b04_Tie.java:243)<br>
 &nbsp; &nbsp; &nbsp; &nbsp;at<br>
com.adesa.business.pricing.ejb._EJSRemoteStatelessPricing_a0966b04_Tie._invoke(_EJSRemoteStatelessPricing_a0966b04_Tie.java:108)<br>
 &nbsp; &nbsp; &nbsp; &nbsp;at<br>
com.ibm.CORBA.iiop.ServerDelegate.dispatchInvokeHandler(ServerDelegate.java:621)<br>
 &nbsp; &nbsp; &nbsp; &nbsp;at com.ibm.CORBA.iiop.ServerDelegate.dispatch(ServerDelegate.java:474)<br>
 &nbsp; &nbsp; &nbsp; &nbsp;at com.ibm.rmi.iiop.ORB.process(ORB.java:503)<br>
 &nbsp; &nbsp; &nbsp; &nbsp;at com.ibm.CORBA.iiop.ORB.process(ORB.java:1571)<br>
 &nbsp; &nbsp; &nbsp; &nbsp;at com.ibm.rmi.iiop.Connection.respondTo(Connection.java:2701)<br>
 &nbsp; &nbsp; &nbsp; &nbsp;at com.ibm.rmi.iiop.Connection.doWork(Connection.java:2575)<br>
 &nbsp; &nbsp; &nbsp; &nbsp;at com.ibm.rmi.iiop.WorkUnitImpl.doWork(WorkUnitImpl.java:62)<br>
 &nbsp; &nbsp; &nbsp; &nbsp;at com.ibm.ejs.oa.pool.PooledThread.run(ThreadPool.java:118)<br>
 &nbsp; &nbsp; &nbsp; &nbsp;at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1473)<br>
Caused by:<br>
java.lang.ClassCastException: com.adesa.data.grounding.pojo.Inventory<br>
incompatible with<br>
com.adesa.data.grounding.pojo.Inventory$$EnhancerByCGLIB$$de81aab3<br>
 &nbsp; &nbsp; &nbsp; &nbsp;at ASMAccessorImpl_11448003161226563261710.getValue(Unknown Source)<br>
 &nbsp; &nbsp; &nbsp; &nbsp;at<br>
org.mvel.ast.VariableDeepPropertyNode.getReducedValueAccelerated(VariableDeepPropertyNode.java:22)<br>
 &nbsp; &nbsp; &nbsp; &nbsp;at<br>
org.mvel.ast.PropertyASTNode.getReducedValueAccelerated(PropertyASTNode.java:21)<br>
 &nbsp; &nbsp; &nbsp; &nbsp;at<br>
org.mvel.ast.BinaryOperation.getReducedValueAccelerated(BinaryOperation.java:21)<br>
 &nbsp; &nbsp; &nbsp; &nbsp;at org.mvel.MVELRuntime.execute(MVELRuntime.java:90)<br>
 &nbsp; &nbsp; &nbsp; &nbsp;at org.mvel.CompiledExpression.getValue(CompiledExpression.java:111)<br>
 &nbsp; &nbsp; &nbsp; &nbsp;at org.mvel.MVEL.executeExpression(MVEL.java:235)<br>
 &nbsp; &nbsp; &nbsp; &nbsp;at<br>
org.drools.base.mvel.MVELPredicateExpression.evaluate(MVELPredicateExpression.java:45)<br>
 &nbsp; &nbsp; &nbsp; &nbsp;at<br>
org.drools.rule.PredicateConstraint.isAllowed(PredicateConstraint.java:209)<br>
<font color="#888888">--<br>
View this message in context: <a href="http://www.nabble.com/ClassCastException-when-firing-rules-tp20694738p20694738.html" target="_blank">http://www.nabble.com/ClassCastException-when-firing-rules-tp20694738p20694738.html</a><br>

Sent from the drools - user mailing list archive at Nabble.com.<br>
<br>
_______________________________________________<br>
rules-users mailing list<br>
<a href="mailto:rules-users@lists.jboss.org">rules-users@lists.jboss.org</a><br>
<a href="https://lists.jboss.org/mailman/listinfo/rules-users" target="_blank">https://lists.jboss.org/mailman/listinfo/rules-users</a><br>
</font></blockquote></div><br><br clear="all"><br>-- <br> &nbsp;Edson Tirelli<br> &nbsp;JBoss Drools Core Development<br> &nbsp;JBoss, a division of Red Hat @ <a href="http://www.jboss.com">www.jboss.com</a><br>