[jboss-jira] [JBoss JIRA] Updated: (JBRULES-631) Return of serialize/deserialize - HashMap of Compiled Rule Bases.
Mark Proctor (JIRA)
jira-events at lists.jboss.org
Mon Jul 23 23:58:49 EDT 2007
[ http://jira.jboss.com/jira/browse/JBRULES-631?page=all ]
Mark Proctor updated JBRULES-631:
---------------------------------
Fix Version/s: FUTURE
(was: 4.0.0.GA)
> Return of serialize/deserialize - HashMap of Compiled Rule Bases.
> -----------------------------------------------------------------
>
> Key: JBRULES-631
> URL: http://jira.jboss.com/jira/browse/JBRULES-631
> Project: JBoss Rules
> Issue Type: Bug
> Security Level: Public(Everyone can see)
> Components: All
> Affects Versions: 3.0.1
> Environment: Websphere 6.0.
> Reporter: Joe Son
> Assigned To: Mark Proctor
> Fix For: FUTURE
>
>
> I'm trying to deserialize hashMap of compiled RuleBases back so that i can use it.
> I've tried out different ideas but this one kinda kills me as to why i am getting this error.
> It is compiled and serialized during the start up of the webserver (webapp). When the web app is restarted, it uses the same classloader to load the file from the disk.
> I get this error below:
> Am I getting this because of difference in classloader instances?
> say first time around classloader instance A does the serialization. Then when it come time for deserialization during webapp restart, classloader instance B does the desrialize.
> Could this cause such error below?
> I'm also using JANINO compiler.
> Please help.
> java.lang.ClassNotFoundException: rules.Rule_dept00004_10_0ConsequenceInvoker
> at java.net.URLClassLoader.findClass(URLClassLoader.java(Compiled Code))
> at com.ibm.ws.bootstrap.ExtClassLoader.findClass(ExtClassLoader.java(Compiled Code))
> at java.lang.ClassLoader.loadClass(ClassLoader.java(Compiled Code))
> at java.lang.ClassLoader.loadClass(ClassLoader.java(Compiled Code))
> at com.ibm.ws.classloader.ProtectionClassLoader.loadClass(ProtectionClassLoader.java(Compiled Code))
> at com.ibm.ws.classloader.ProtectionClassLoader.loadClass(ProtectionClassLoader.java(Compiled Code))
> at com.ibm.ws.classloader.CompoundClassLoader.loadClass(CompoundClassLoader.java(Compiled Code))
> at java.lang.ClassLoader.loadClass(ClassLoader.java(Compiled Code))
> at com.ibm.ws.classloader.ReloadableClassLoader.loadClass(ReloadableClassLoader.java(Compiled Code))
> at com.ibm.ws.classloader.CompoundClassLoader.loadClass(CompoundClassLoader.java(Compiled Code))
> at java.lang.ClassLoader.loadClass(ClassLoader.java(Compiled Code))
> at org.drools.rule.CompositePackageClassLoader.loadClass(Unknown Source)
> at java.lang.ClassLoader.loadClass(ClassLoader.java(Compiled Code))
> at org.drools.common.ObjectInputStreamWithLoader.resolveClass(Unknown Source)
> at java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java(Compiled Code))
> at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java(Compiled Code))
> at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java(Compiled Code))
> at java.io.ObjectInputStream.readObject0(ObjectInputStream.java(Compiled Code))
> at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java(Compiled Code))
> at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java(Compiled Code))
> at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java(Compiled Code))
> at java.io.ObjectInputStream.readObject0(ObjectInputStream.java(Compiled Code))
> at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java(Compiled Code))
> at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java(Compiled Code))
> at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java(Compiled Code))
> at java.io.ObjectInputStream.readObject0(ObjectInputStream.java(Compiled Code))
> at java.io.ObjectInputStream.readObject(ObjectInputStream.java(Compiled Code))
> at java.util.ArrayList.readObject(ArrayList.java(Compiled Code))
> at sun.reflect.GeneratedMethodAccessor17.invoke(Unknown Source)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java(Compiled Code))
> at java.lang.reflect.Method.invoke(Method.java(Compiled Code))
> at java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java(Compiled Code))
> at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java(Compiled Code))
> at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java(Compiled Code))
> at java.io.ObjectInputStream.readObject0(ObjectInputStream.java(Compiled Code))
> at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java(Compiled Code))
> at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java(Compiled Code))
> at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java(Compiled Code))
> at java.io.ObjectInputStream.readObject0(ObjectInputStream.java(Compiled Code))
> at java.io.ObjectInputStream.readObject(ObjectInputStream.java(Compiled Code))
> at java.util.ArrayList.readObject(ArrayList.java(Compiled Code))
> at sun.reflect.GeneratedMethodAccessor17.invoke(Unknown Source)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java(Compiled Code))
> at java.lang.reflect.Method.invoke(Method.java(Compiled Code))
> at java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java(Compiled Code))
> at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java(Compiled Code))
> at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java(Compiled Code))
> at java.io.ObjectInputStream.readObject0(ObjectInputStream.java(Compiled Code))
> at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java(Compiled Code))
> at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java(Compiled Code))
> at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java(Compiled Code))
> at java.io.ObjectInputStream.readObject0(ObjectInputStream.java(Compiled Code))
> at java.io.ObjectInputStream.readObject(ObjectInputStream.java(Compiled Code))
> at java.util.HashMap.readObject(HashMap.java(Compiled Code))
> at sun.reflect.GeneratedMethodAccessor18.invoke(Unknown Source)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java(Compiled Code))
> at java.lang.reflect.Method.invoke(Method.java(Compiled Code))
> at java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java(Compiled Code))
> at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java(Compiled Code))
> at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java(Compiled Code))
> at java.io.ObjectInputStream.readObject0(ObjectInputStream.java(Compiled Code))
> at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java(Compiled Code))
> at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java(Compiled Code))
> at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java(Compiled Code))
> at java.io.ObjectInputStream.readObject0(ObjectInputStream.java(Compiled Code))
> at java.io.ObjectInputStream.readObject(ObjectInputStream.java(Compiled Code))
> at java.util.HashMap.readObject(HashMap.java(Compiled Code))
> at sun.reflect.GeneratedMethodAccessor18.invoke(Unknown Source)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java(Compiled Code))
> at java.lang.reflect.Method.invoke(Method.java(Compiled Code))
> at java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java(Compiled Code))
> at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java(Compiled Code))
> at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java(Compiled Code))
> at java.io.ObjectInputStream.readObject0(ObjectInputStream.java(Compiled Code))
> at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java(Compiled Code))
> at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java(Compiled Code))
> at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java(Compiled Code))
> at java.io.ObjectInputStream.readObject0(ObjectInputStream.java(Compiled Code))
> at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java(Compiled Code))
> at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java(Compiled Code))
> at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java(Compiled Code))
> at java.io.ObjectInputStream.readObject0(ObjectInputStream.java(Compiled Code))
> at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java(Compiled Code))
> at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java(Compiled Code))
> at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java(Compiled Code))
> at java.io.ObjectInputStream.readObject0(ObjectInputStream.java(Compiled Code))
> at java.io.ObjectInputStream.readObject(ObjectInputStream.java(Compiled Code))
> at org.drools.common.AbstractRuleBase.doReadExternal(Unknown Source)
> at org.drools.reteoo.ReteooRuleBase.readExternal(Unknown Source)
> at java.io.ObjectInputStream.readExternalData(ObjectInputStream.java:1718)
> at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java(Compiled Code))
> at java.io.ObjectInputStream.readObject0(ObjectInputStream.java(Compiled Code))
> at java.io.ObjectInputStream.readObject(ObjectInputStream.java(Compiled Code))
> at java.util.HashMap.readObject(HashMap.java(Compiled Code))
> at sun.reflect.GeneratedMethodAccessor18.invoke(Unknown Source)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java(Compiled Code))
> at java.lang.reflect.Method.invoke(Method.java(Compiled Code))
> at java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java(Compiled Code))
> at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java(Compiled Code))
> at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java(Compiled Code))
> at java.io.ObjectInputStream.readObject0(ObjectInputStream.java(Compiled Code))
> at java.io.ObjectInputStream.readObject(ObjectInputStream.java(Compiled Code))
> at com.nationwide.pc.util.RulesXmlUtilTest.getRuleBaseFromDisk(RulesXmlUtilTest.java:271)
> at com.nationwide.pc.performers.eProcess.DroolsPerformerTest.initialize(DroolsPerformerTest.java:88)
> at com.nationwide.pc.performers.framework.ServletFrameWork.init(ServletFrameWork.java:86)
> at javax.servlet.GenericServlet.init(GenericServlet.java:256)
> at com.ibm.ws.webcontainer.servlet.ServletWrapper.init(ServletWrapper.java:274)
> at com.ibm.ws.webcontainer.servlet.ServletWrapper.initialize(ServletWrapper.java:1398)
> at com.ibm.wsspi.webcontainer.extension.WebExtensionProcessor.createServletWrapper(WebExtensionProcessor.java:86)
> at com.ibm.ws.webcontainer.webapp.WebApp.initializeTargetMappings(WebApp.java:558)
> at com.ibm.ws.webcontainer.webapp.WebApp.initialize(WebApp.java:395)
> at com.ibm.ws.webcontainer.webapp.WebGroup.addWebApplication(WebGroup.java:115)
> at com.ibm.ws.webcontainer.VirtualHost.addWebApplication(VirtualHost.java:128)
> at com.ibm.ws.webcontainer.WebContainer.addWebApp(WebContainer.java:905)
> at com.ibm.ws.webcontainer.WebContainer.addWebApplication(WebContainer.java:858)
> at com.ibm.ws.runtime.component.WebContainerImpl.install(WebContainerImpl.java:167)
> at com.ibm.ws.runtime.component.WebContainerImpl.start(WebContainerImpl.java:391)
> at com.ibm.ws.runtime.component.ApplicationMgrImpl.start(ApplicationMgrImpl.java:1228)
> at com.ibm.ws.runtime.component.DeployedApplicationImpl.fireDeployedObjectStart(DeployedApplicationImpl.java:1067)
> at com.ibm.ws.runtime.component.DeployedModuleImpl.start(DeployedModuleImpl.java:547)
> at com.ibm.ws.runtime.component.ApplicationMgrImpl.startModule(ApplicationMgrImpl.java:1651)
> at com.ibm.ws.runtime.component.ApplicationMgrImpl._startModule(ApplicationMgrImpl.java:1599)
> at com.ibm.ws.runtime.component.ApplicationMgrImpl$ApplicationNotifier.classChanged(ApplicationMgrImpl.java:1811)
> at com.ibm.ws.classloader.ClassLoaderManager.checkAndNotify(ClassLoaderManager.java:536)
> at com.ibm.ws.classloader.ClassLoaderManager.access$000(ClassLoaderManager.java:58)
> at com.ibm.ws.classloader.ClassLoaderManager$ReloadTimerTask.alarm(ClassLoaderManager.java:604)
> at com.ibm.ejs.util.am._Alarm.run(_Alarm.java(Compiled Code))
> at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1462)
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.jboss.com/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
More information about the jboss-jira
mailing list