Although it is good to have your facts being serializable, it should not be mandatory. That was a mistake. I will reopen that ticket to fix that.
[]s Edson 2009/7/15 Steve Ronderos <[email protected]> > > Hello, > > I've been working on upgrading an application that uses Drools 4.0.7 to > 5.0.1. For the most part things have been going well. > > After I got the rules running with 5.0.1 I started getting a > ClassCastException on one of my model classes within the class > MVELAccumulatorFunctionExecutor. Here is the full stacktrace > > org.drools.runtime.rule.ConsequenceException: > org.drools.RuntimeDroolsException: java.lang.ClassCastException: > com.example.Slot > at > org.drools.runtime.rule.impl.DefaultConsequenceExceptionHandler.handleException(DefaultConsequenceExceptionHandler.java:23) > at > org.drools.common.DefaultAgenda.fireActivation(DefaultAgenda.java:945) > at > org.drools.common.DefaultAgenda.fireNextItem(DefaultAgenda.java:885) > at > org.drools.common.DefaultAgenda.fireAllRules(DefaultAgenda.java:1091) > at > org.drools.common.AbstractWorkingMemory.fireAllRules(AbstractWorkingMemory.java:684) > at > org.drools.common.AbstractWorkingMemory.fireAllRules(AbstractWorkingMemory.java:650) > at > com.example.StatefulDroolsRuleManager.execute(StatefulDroolsRuleManager.java:59) > at > com.example.common.TestMaxQuantity.multipleMaximum4Slot(TestMaxQuantity.java:115) > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > at > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) > at java.lang.reflect.Method.invoke(Method.java:585) > at > org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44) > at > org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15) > at > org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41) > at > org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20) > at > org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28) > at > org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31) > at > org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:73) > at > org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:46) > at > org.junit.runners.ParentRunner.runChildren(ParentRunner.java:180) > at org.junit.runners.ParentRunner.access$000(ParentRunner.java:41) > at org.junit.runners.ParentRunner$1.evaluate(ParentRunner.java:173) > at > org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28) > at > org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31) > at org.junit.runners.ParentRunner.run(ParentRunner.java:220) > at > org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:62) > at > org.apache.maven.surefire.suite.AbstractDirectoryTestSuite.executeTestSet(AbstractDirectoryTestSuite.java:140) > at > org.apache.maven.surefire.suite.AbstractDirectoryTestSuite.execute(AbstractDirectoryTestSuite.java:127) > at org.apache.maven.surefire.Surefire.run(Surefire.java:177) > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > at > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) > at java.lang.reflect.Method.invoke(Method.java:585) > at > org.apache.maven.surefire.booter.SurefireBooter.runSuitesInProcess(SurefireBooter.java:338) > at > org.apache.maven.surefire.booter.SurefireBooter.main(SurefireBooter.java:997) > Caused by: org.drools.RuntimeDroolsException: java.lang.ClassCastException: > com.example.Slot > at org.drools.rule.Accumulate.accumulate(Accumulate.java:172) > at > org.drools.reteoo.AccumulateNode.modifyTuple(AccumulateNode.java:432) > at > org.drools.reteoo.AccumulateNode.assertObject(AccumulateNode.java:284) > at > org.drools.reteoo.CompositeObjectSinkAdapter.doPropagateAssertObject(CompositeObjectSinkAdapter.java:360) > at > org.drools.reteoo.CompositeObjectSinkAdapter.propagateAssertObject(CompositeObjectSinkAdapter.java:344) > at org.drools.reteoo.AlphaNode.assertObject(AlphaNode.java:147) > at > org.drools.reteoo.CompositeObjectSinkAdapter.doPropagateAssertObject(CompositeObjectSinkAdapter.java:360) > at > org.drools.reteoo.CompositeObjectSinkAdapter.propagateAssertObject(CompositeObjectSinkAdapter.java:337) > at > org.drools.reteoo.ObjectTypeNode.assertObject(ObjectTypeNode.java:185) > at > org.drools.reteoo.EntryPointNode.assertObject(EntryPointNode.java:146) > at > org.drools.common.AbstractWorkingMemory.modifyInsert(AbstractWorkingMemory.java:1365) > at > org.drools.base.DefaultKnowledgeHelper.modifyInsert(DefaultKnowledgeHelper.java:201) > at > org.drools.base.DefaultKnowledgeHelper.modifyInsert(DefaultKnowledgeHelper.java:195) > at > com.example.Rule_Update_Slot_s_valid_occupants_0.consequence(Rule_Update_Slot_s_valid_occupants_0.java:30) > at > com.example.Rule_Update_Slot_s_valid_occupants_0ConsequenceInvoker.evaluate(Rule_Update_Slot_s_valid_occupants_0ConsequenceInvoker.java:33) > at > org.drools.common.DefaultAgenda.fireActivation(DefaultAgenda.java:936) > ... 34 more > Caused by: java.lang.ClassCastException: com.example.Slot > at > org.drools.base.accumulators.MVELAccumulatorFunctionExecutor.accumulate(MVELAccumulatorFunctionExecutor.java:125) > at org.drools.rule.Accumulate.accumulate(Accumulate.java:164) > ... 49 more > > I then downloaded the code to see what was going on and it looks like my > fact types are being cast to Serializable objects in the > MVELAccumulatorFunctionExecutor.accumulate method. I don't remember reading > anything about needing to make my model serializable, did I miss some > documentation somewhere? > > Also, I found this JIRA request that looked related: > https://jira.jboss.org/jira/browse/JBRULES-2202 > > Any help would be greatly appreciated. Thanks! > > Steve Ronderos > _______________________________________________ > rules-users mailing list > [email protected] > https://lists.jboss.org/mailman/listinfo/rules-users > > -- Edson Tirelli JBoss Drools Core Development JBoss by Red Hat @ www.jboss.com
_______________________________________________ rules-users mailing list [email protected] https://lists.jboss.org/mailman/listinfo/rules-users
