[jboss-jira] [JBoss JIRA] Created: (JBRULES-631) Return of serialize/deserialize - HashMap of Compiled Rule Bases.

Joe Son (JIRA) jira-events at jboss.com
Thu Jan 25 16:24:03 EST 2007


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


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