Raffael,

Assuming it is not a classpath problem, I don't know what is happening by your stack trace. Can you provide more info, or maybe a self contained test case?
  It would be good to know:

1. What jbrules version are you using?
2. What environment? Stand alone application, JEE application, what container?

We fixed an issue related to security in the version 3.0.5 that was release today, that could potentially cause that. So if you are not using 3.0.5, it would be good to test with it.

   []s
   Edson

Raffael Herzog wrote:

Hi,

I'm trying to deserialized cached packages from disk. And I'm getting
the following exception when deserializing:

Caused by: java.lang.ClassNotFoundException:
[Lorg.drools.rule.Declaration;
       at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
       at java.security.AccessController.doPrivileged(Native Method)
       at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
       at
ch.raffael.hiveapp.impl.AppModuleClassLoader.findClass(AppModuleClassLoader.java:95)
       at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
       at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
       at
org.drools.rule.PackageCompilationData$PackageClassLoader.loadClass(Unknown
Source)
       at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
       at
org.drools.common.ObjectInputStreamWithLoader.resolveClass(Unknown
Source)
       at
java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1544)
       at
java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1466)
       at
java.io.ObjectInputStream.readArray(ObjectInputStream.java:1591)
       at java.io.ObjectInputStream.readObject
(ObjectInputStream.java:1299)
       at
java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1908)
       at
java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1832)
       at
java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1719)
       at java.io.ObjectInputStream.readObject
(ObjectInputStream.java:1305)
       at
java.io.ObjectInputStream.readObject(ObjectInputStream.java:348)
       at java.util.HashMap.readObject(HashMap.java:1067)
       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
java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:946)
       at
java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1809)
       at
java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1719)
       at java.io.ObjectInputStream.readObject
(ObjectInputStream.java:1305)
       at
java.io.ObjectInputStream.readObject(ObjectInputStream.java:348)
       at org.drools.rule.PackageCompilationData.readExternal(Unknown
Source)
       at
java.io.ObjectInputStream.readExternalData(ObjectInputStream.java:1755)
       at
java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1717)
       at java.io.ObjectInputStream.readObject
(ObjectInputStream.java:1305)
       at
java.io.ObjectInputStream.readObject(ObjectInputStream.java:348)
       at org.drools.rule.Package.readExternal(Unknown Source)
       at
java.io.ObjectInputStream.readExternalData(ObjectInputStream.java:1755)
       at
java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1717)
       at java.io.ObjectInputStream.readObject
(ObjectInputStream.java:1305)
       at
java.io.ObjectInputStream.readObject(ObjectInputStream.java:348)
       at
ch.raffael.loom.drools.impl.CachedPackage.getPackage(CachedPackage.java:72)

There are two rules which cause this error:

 rule "java:populate:sources"
     when
         unit: CompilationUnit()
         not Path(role==("java:sources:"+unit.getName()))
     then
         assert(new
           Path(unit.getSourcePath(), "java:sources:"+unit.getName()));
 end

and

 rule "java:populate:sources"
     when
         unit: CompilationUnit()
         not Path(role==("java:sources:"+unit.getName()))
     then
         assert(new
           Path(unit.getSourcePath(), "java:sources:"+unit.getName()));
 end

Any ideas?

TIA,
  Raffi



--
 ---
 Edson Tirelli
 Software Engineer - JBoss Rules Core Developer
 Office: +55 11 3124-6000
 Mobile: +55 11 9218-4151
 JBoss, a division of Red Hat @ www.jboss.com

 IT executives: Red Hat still #1 for value
http://www.redhat.com/promo/vendor/

---------------------------------------------------------------------
To unsubscribe from this list please visit:

   http://xircles.codehaus.org/manage_email

Reply via email to