[rules-users] KnowledgeAgentImpl registeredResourceMap memory issue

Davide Sottara dsotty at gmail.com
Mon Apr 14 14:11:25 EDT 2014


Are you downloading a compiled PKG resource? You'd have to rebuild
the PKG with 5.6, or use the source DRL..

On 04/14/2014 11:08 AM, Cwen wrote:
> Davide, 
> I tried change our methods signature and run the application. Getting
> following stack trace when calling KnowledgeAgent.applyChangeSet(Resource
> resource):
>
> java.lang.RuntimeException: KnowledgeAgent exception while trying to
> deserialize KnowledgeDefinitionsPackage  
> 	at
> org.drools.agent.impl.KnowledgeAgentImpl.createPackageFromResource(KnowledgeAgentImpl.java:796)
> 	at
> org.drools.agent.impl.KnowledgeAgentImpl.addResourcesToKnowledgeBase(KnowledgeAgentImpl.java:1094)
> 	at
> org.drools.agent.impl.KnowledgeAgentImpl.rebuildResources(KnowledgeAgentImpl.java:844)
> 	at
> org.drools.agent.impl.KnowledgeAgentImpl.buildKnowledgeBase(KnowledgeAgentImpl.java:684)
> 	at
> org.drools.agent.impl.KnowledgeAgentImpl.applyChangeSet(KnowledgeAgentImpl.java:207)
> 	at
> org.drools.agent.impl.KnowledgeAgentImpl.applyChangeSet(KnowledgeAgentImpl.java:186)
>
> 	at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
> 	at
> sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
> 	at
> sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
> 	at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
> 	at org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:148)
> 	at
> org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:87)
> 	at
> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateBean(AbstractAutowireCapableBeanFactory.java:1004)
> 	at
> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:957)
> 	at
> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:490)
> 	at
> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:461)
> 	at
> org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveInnerBean(BeanDefinitionValueResolver.java:271)
> 	at
> org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:121)
> 	at
> org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveManagedList(BeanDefinitionValueResolver.java:353)
> 	at
> org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:154)
> 	at
> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1391)
> 	at
> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1132)
> 	at
> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:522)
> 	at
> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:461)
> 	at
> org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:295)
> 	at
> org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:223)
> 	at
> org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:292)
> 	at
> org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:194)
> 	at
> org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:626)
> 	at
> org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:932)
> 	at
> org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:479)
> 	at
> org.springframework.web.context.ContextLoader.configureAndRefreshWebApplicationContext(ContextLoader.java:389)
> 	at
> org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:294)
> 	at
> org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:112)
> 	at
> org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4350)
> 	at
> org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:4816)
> 	at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:140)
> 	at
> org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:1028)
> 	at
> org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:773)
> 	at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:140)
> 	at
> org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:1028)
> 	at
> org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:278)
> 	at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:140)
> 	at
> org.apache.catalina.core.StandardService.startInternal(StandardService.java:429)
> 	at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:140)
> 	at
> org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:662)
> 	at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:140)
> 	at org.apache.catalina.startup.Catalina.start(Catalina.java:592)
> 	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:597)
> 	at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:290)
> 	at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:418)
> Caused by: java.io.InvalidClassException:
> org.drools.rule.constraint.MvelConstraint; local class incompatible: stream
> classdesc serialVersionUID = 8537626313322861096, local class
> serialVersionUID = 148857042101396396
> 	at java.io.ObjectStreamClass.initNonProxy(ObjectStreamClass.java:562)
> 	at java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1582)
> 	at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1495)
> 	at
> java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1731)
> 	at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1328)
> 	at java.io.ObjectInputStream.readObject(ObjectInputStream.java:350)
> 	at java.util.ArrayList.readObject(ArrayList.java:593)
> 	at sun.reflect.GeneratedMethodAccessor25.invoke(Unknown Source)
> 	at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> 	at java.lang.reflect.Method.invoke(Method.java:597)
> 	at java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:974)
> 	at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1848)
> 	at
> java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1752)
> 	at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1328)
> 	at java.io.ObjectInputStream.readObject(ObjectInputStream.java:350)
> 	at org.drools.rule.Pattern.readExternal(Pattern.java:125)
> 	at java.io.ObjectInputStream.readExternalData(ObjectInputStream.java:1791)
> 	at
> java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1750)
> 	at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1328)
> 	at java.io.ObjectInputStream.readObject(ObjectInputStream.java:350)
> 	at java.util.ArrayList.readObject(ArrayList.java:593)
> 	at sun.reflect.GeneratedMethodAccessor25.invoke(Unknown Source)
> 	at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> 	at java.lang.reflect.Method.invoke(Method.java:597)
> 	at java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:974)
> 	at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1848)
> 	at
> java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1752)
> 	at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1328)
> 	at java.io.ObjectInputStream.readObject(ObjectInputStream.java:350)
> 	at org.drools.rule.GroupElement.readExternal(GroupElement.java:63)
> 	at java.io.ObjectInputStream.readExternalData(ObjectInputStream.java:1791)
> 	at
> java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1750)
> 	at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1328)
> 	at java.io.ObjectInputStream.readObject(ObjectInputStream.java:350)
> 	at org.drools.rule.Rule.readExternal(Rule.java:186)
> 	at java.io.ObjectInputStream.readExternalData(ObjectInputStream.java:1791)
> 	at
> java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1750)
> 	at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1328)
> 	at java.io.ObjectInputStream.readObject(ObjectInputStream.java:350)
> 	at java.util.IdentityHashMap.readObject(IdentityHashMap.java:1188)
> 	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:597)
> 	at java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:974)
> 	at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1848)
> 	at
> java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1752)
> 	at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1328)
> 	at java.io.ObjectInputStream.readObject(ObjectInputStream.java:350)
> 	at
> org.drools.rule.MVELDialectRuntimeData.readExternal(MVELDialectRuntimeData.java:90)
> 	at java.io.ObjectInputStream.readExternalData(ObjectInputStream.java:1791)
> 	at
> java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1750)
> 	at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1328)
> 	at java.io.ObjectInputStream.readObject(ObjectInputStream.java:350)
> 	at java.util.HashMap.readObject(HashMap.java:1030)
> 	at sun.reflect.GeneratedMethodAccessor26.invoke(Unknown Source)
> 	at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> 	at java.lang.reflect.Method.invoke(Method.java:597)
> 	at java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:974)
> 	at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1848)
> 	at
> java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1752)
> 	at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1328)
> 	at java.io.ObjectInputStream.readObject(ObjectInputStream.java:350)
> 	at
> org.drools.rule.DialectRuntimeRegistry.readExternal(DialectRuntimeRegistry.java:58)
> 	at java.io.ObjectInputStream.readExternalData(ObjectInputStream.java:1791)
> 	at
> java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1750)
> 	at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1328)
> 	at java.io.ObjectInputStream.readObject(ObjectInputStream.java:350)
> 	at org.drools.rule.Package.readExternal(Package.java:212)
> 	at java.io.ObjectInputStream.readExternalData(ObjectInputStream.java:1791)
> 	at
> java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1750)
> 	at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1328)
> 	at java.io.ObjectInputStream.readObject(ObjectInputStream.java:350)
> 	at
> org.drools.core.util.DroolsStreamUtils.streamIn(DroolsStreamUtils.java:205)
> 	at
> org.drools.core.util.DroolsStreamUtils.streamIn(DroolsStreamUtils.java:189)
> 	at
> org.drools.agent.impl.KnowledgeAgentImpl.createPackageFromResource(KnowledgeAgentImpl.java:769)
> 	... 58 more
>
>
>
>
> --
> View this message in context: http://drools.46999.n3.nabble.com/KnowledgeAgentImpl-registeredResourceMap-memory-issue-tp4029216p4029251.html
> Sent from the Drools: User forum mailing list archive at Nabble.com.
> _______________________________________________
> rules-users mailing list
> rules-users at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/rules-users
>



More information about the rules-users mailing list