I assume this is the same thing as covered in Marco's "baby sitter" email and Maciej's fix?

---------- Forwarded message ----------
From: Wolfgang Laun <wolfgang.laun@gmail.com>
Date: 25 October 2012 00:45
Subject: [rules-dev] Fwd: [rules-users] ClassNotFound on class defined in drl with 5.5.0.CR1
To: Rules Dev List <rules-dev@lists.jboss.org>
Cc: willem@van.asperen.org


Folks,
it seems that something new in 5.5.0.CR1 sabotages the ingestion of
compiled packages.
-W

---------- Forwarded message ----------
From: Willem van Asperen <willem@van.asperen.org>
Date: Thu, 25 Oct 2012 00:04:32 +0200
Subject: Re: [rules-users] ClassNotFound on class defined in drl with 5.5.0.CR1
To: Wolfgang Laun <wolfgang.laun@gmail.com>, Rules Users List
<rules-users@lists.jboss.org>

Hi,

This was a good idea. Here is my test case:

public class TestCompilation {

     private final static FileFilter RULES_FILES_FILTER = new FileFilter() {
         @Override
         public boolean accept(File pathname) {
             return pathname.getName().endsWith(".drl");
         }
     };

     private void testCompilation() throws FileNotFoundException,
IOException {
         KnowledgeBuilderConfiguration configuration =
KnowledgeBuilderFactory.newKnowledgeBuilderConfiguration();
         KnowledgeBuilder kbuilder =
KnowledgeBuilderFactory.newKnowledgeBuilder(configuration);

         File folder = new File("src/main/rules/");
         for (File file : folder.listFiles(RULES_FILES_FILTER)) {
             System.out.println("compiling "+file.getAbsolutePath());
kbuilder.add(ResourceFactory.newFileResource(file.getAbsolutePath()),
ResourceType.DRL);
         }

         System.out.println("saving");
         ObjectOutputStream out = new ObjectOutputStream(new
FileOutputStream("test.drl.compiled"));
         out.writeObject( kbuilder.getKnowledgePackages());
         out.close();
     }

     private KnowledgeBase testLoad() throws FileNotFoundException,
IOException, ClassNotFoundException {
         Properties configProperties = new Properties();
         KnowledgeBaseConfiguration knowledgeBaseConfiguration =
KnowledgeBaseFactory.newKnowledgeBaseConfiguration(configProperties);
         KnowledgeBase kbase =
KnowledgeBaseFactory.newKnowledgeBase(knowledgeBaseConfiguration);

         ObjectInputStream in = new ObjectInputStream(new
FileInputStream("test.drl.compiled"));

         System.out.println("loading");
kbase.addKnowledgePackages((Collection<KnowledgePackage>) in.readObject());
         return kbase;
     }

     public static void main(String[] args) throws
FileNotFoundException, IOException, ClassNotFoundException {
         TestCompilation testCompilation = new TestCompilation();
         testCompilation.testCompilation();
         testCompilation.testLoad();
     }
}

The folder src/main/rules consists of a number of .drl files.
Compiling works fine.
This is the output:

SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
SLF4J: Defaulting to no-operation (NOP) logger implementation
SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for
further details.
compiling
/home/willem/development/workspace/VCM/src/main/rules/planner-lock.drl
compiling
/home/willem/development/workspace/VCM/src/main/rules/executable-action-selection.drl
compiling
/home/willem/development/workspace/VCM/src/main/rules/block-times-3.drl
compiling
/home/willem/development/workspace/VCM/src/main/rules/planner-bridge.drl
compiling
/home/willem/development/workspace/VCM/src/main/rules/routeplan.drl
compiling
/home/willem/development/workspace/VCM/src/main/rules/shift-management-brabant.drl
compiling
/home/willem/development/workspace/VCM/src/main/rules/plan-first-object-in-route.drl
compiling
/home/willem/development/workspace/VCM/src/main/rules/operator-lock.drl
compiling
/home/willem/development/workspace/VCM/src/main/rules/block-times-route-call.drl
compiling
/home/willem/development/workspace/VCM/src/main/rules/shift-management.drl
compiling
/home/willem/development/workspace/VCM/src/main/rules/planner-process-data.drl
compiling
/home/willem/development/workspace/VCM/src/main/rules/plan-last-moment.drl
compiling
/home/willem/development/workspace/VCM/src/main/rules/operator-bridge.drl
compiling
/home/willem/development/workspace/VCM/src/main/rules/operator-management.drl
saving
loading
Exception in thread "main" java.lang.ClassNotFoundException:
vcm.planner.lock.standard.PossibleSlotLock
     at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
     at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
     at java.security.AccessController.doPrivileged(Native Method)
     at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
     at java.lang.ClassLoader.loadClass(ClassLoader.java:423)
     at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
     at java.lang.ClassLoader.loadClass(ClassLoader.java:356)
     at java.lang.Class.forName0(Native Method)
     at java.lang.Class.forName(Class.java:264)
     at
org.drools.common.DroolsObjectInputStream.resolveClass(DroolsObjectInputStream.java:85)
     at
org.drools.common.DroolsObjectInputStream.resolveClass(DroolsObjectInputStream.java:97)
     at
java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1593)
     at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1514)
     at java.io.ObjectInputStream.readClass(ObjectInputStream.java:1480)
     at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1330)
     at java.io.ObjectInputStream.readObject(ObjectInputStream.java:369)
     at
org.drools.rule.ConsequenceMetaData$Statement.readExternal(ConsequenceMetaData.java:61)
     at
java.io.ObjectInputStream.readExternalData(ObjectInputStream.java:1810)
     at
java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1769)
     at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1347)
     at java.io.ObjectInputStream.readObject(ObjectInputStream.java:369)
     at java.util.ArrayList.readObject(ArrayList.java:733)
     at sun.reflect.GeneratedMethodAccessor7.invoke(Unknown Source)
     at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
     at java.lang.reflect.Method.invoke(Method.java:601)
     at
java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:1004)
     at
java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1866)
     at
java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1771)
     at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1347)
     at java.io.ObjectInputStream.readObject(ObjectInputStream.java:369)
     at
org.drools.rule.ConsequenceMetaData.readExternal(ConsequenceMetaData.java:19)
     at
java.io.ObjectInputStream.readExternalData(ObjectInputStream.java:1810)
     at
java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1769)
     at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1347)
     at java.io.ObjectInputStream.readObject(ObjectInputStream.java:369)
     at org.drools.rule.Rule.readExternal(Rule.java:207)
     at
java.io.ObjectInputStream.readExternalData(ObjectInputStream.java:1810)
     at
java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1769)
     at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1347)
     at java.io.ObjectInputStream.readObject(ObjectInputStream.java:369)
     at
org.drools.rule.JavaDialectRuntimeData.readExternal(JavaDialectRuntimeData.java:195)
     at
java.io.ObjectInputStream.readExternalData(ObjectInputStream.java:1810)
     at
java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1769)
     at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1347)
     at java.io.ObjectInputStream.readObject(ObjectInputStream.java:369)
     at java.util.HashMap.readObject(HashMap.java:1155)
     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
     at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
     at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
     at java.lang.reflect.Method.invoke(Method.java:601)
     at
java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:1004)
     at
java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1866)
     at
java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1771)
     at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1347)
     at java.io.ObjectInputStream.readObject(ObjectInputStream.java:369)
     at
org.drools.rule.DialectRuntimeRegistry.readExternal(DialectRuntimeRegistry.java:58)
     at
java.io.ObjectInputStream.readExternalData(ObjectInputStream.java:1810)
     at
java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1769)
     at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1347)
     at java.io.ObjectInputStream.readObject(ObjectInputStream.java:369)
     at org.drools.rule.Package.readExternal(Package.java:208)
     at
org.drools.definitions.impl.KnowledgePackageImp.readExternal(KnowledgePackageImp.java:157)
     at
java.io.ObjectInputStream.readExternalData(ObjectInputStream.java:1810)
     at
java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1769)
     at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1347)
     at java.io.ObjectInputStream.readObject(ObjectInputStream.java:369)
     at java.util.ArrayList.readObject(ArrayList.java:733)
     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
     at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
     at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
     at java.lang.reflect.Method.invoke(Method.java:601)
     at
java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:1004)
     at
java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1866)
     at
java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1771)
     at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1347)
     at java.io.ObjectInputStream.readObject(ObjectInputStream.java:369)
     at
com.paconsulting.pase.test.TestCompilation.testLoad(TestCompilation.java:57)
     at
com.paconsulting.pase.test.TestCompilation.main(TestCompilation.java:64)

The class PossibleSlotLock is just a locally declared fact class. It is
only being used in that particular .drl file. Every .drl file has it's
own package name.

The head of the .drl file:

package vcm.planner.lock.standard;

import java.util.Set;

import com.paconsulting.pase.core.schedule.CurrentTime;
import com.paconsulting.pase.core.duration.FixedDuration;
import com.paconsulting.pase.transport.agents.ScheduleManagingContainer;
import com.paconsulting.pase.transport.agents.movers.Ship;
import com.paconsulting.pase.transport.agents.water.Lock;
import com.paconsulting.pase.transport.agents.water.LockChamber;
import com.paconsulting.pase.transport.agents.base.WaterLevel;
import com.paconsulting.pase.transport.components.action.ActionFactory;
import com.paconsulting.pase.transport.actions.IAction;
import com.paconsulting.pase.transport.components.action.IActionable;
import com.paconsulting.pase.transport.actions.NonTransactionAction;
import com.paconsulting.pase.transport.actions.ExecutableAction;
import com.paconsulting.pase.transport.components.containing.IContainer;
import
com.paconsulting.pase.transport.components.containing.IContainer.UpDown;
import com.paconsulting.pase.transport.components.moving.IMover;
import com.paconsulting.pase.transport.components.moving.TransferSchedule;
import com.paconsulting.pase.transport.components.moving.ToScheduleLock;

declare PossibleSlotLock
     ship : IMover
     chamber : IContainer
     side : IContainer.UpDown
     schedule : TransferSchedule
     eta : double
     at : double
     cause : String
end
....

Same issue like in my previous email, different class that cannot be found.

This works in 5.4.0.Final

Any clue?

This seems to me like a really basic thing so either I am missing the
plot somehow or no-one has yet used a locally declared fact classes -
which I think is just not true...

Regards,
Willem

On 10/24/2012 07:29 PM, Wolfgang Laun wrote:
> It would be interesting to know (and perhaps help to isolate the problem
> apparently introduced in 5.5.0) if you could try and compile and
> serialize into a single file, and load that in a single readObject.
>
> -W
>
> On 24/10/2012, Willem van Asperen <willem@van.asperen.org> wrote:
>> Hi Wolfgang,
>>
>> Thanks for picking this up. I am indeed compiling these separate .drl
>> files into separate .drl.compiled files and then creating a kbase using
>> addKnowledgePackages on the individual .drl.compiled files.
>>
>> But: the classes declared in some of by .drl files are only going to be
>> used in that particular .drl file - not anywhere else.
>> Also: this did work in 5.4.0.Final but now has given up on me.
>>
>> Point is that I need to be flexible in mixing different .drl.compiled
>> files into a kbase, based on user specifications.
>> Alternative is that I do not pre-compile these .drl files and only
>> compile them, in combination, in the mix that is required by the user...
>> If that would solve the problem... But it seems to be more cumbersome...
>>
>> Regards,
>> Willem
>>
>> On 10/24/2012 03:39 PM, Wolfgang Laun wrote:
>>> The code you use for loading where you load many .pkg files isn't
>>> quite the counterpart for compiling where you compile one DRL.
>>>
>>> Do you compile and output the .drl files one by one? Apparently you
>>> load them individually?
>>>
>>> Try compiling them all, and then take the Collection<KnowledgePackage>
>>> and writeObject it to a single .pkg from which you load them in one
>>> go.
>>>
>>> Could it be that the type declared in one .drl is used in another .drl
>>> in the same package? Reading this in the wrong order might cause the
>>> CNF.
>>>
>>> -W
>>>
>>> On 24/10/2012, Willem van Asperen <willem@van.asperen.org> wrote:
>>>> Dear All,
>>>>
>>>> I use the Drools compiler to compile a set of drl files:
>>>>
>>>>
>>>>            KnowledgeBuilder kbuilder =
>>>> KnowledgeBuilderFactory.newKnowledgeBuilder(configuration);
>>>>            kbuilder.add(ResourceFactory.newFileResource(fileName),
>>>> ResourceType.DRL);
>>>>
>>>>            KnowledgeBuilderErrors errors = kbuilder.getErrors();
>>>>            if (errors.size() > 0) {
>>>>                for (KnowledgeBuilderError error: errors) {
>>>>                    logger.error(error);
>>>>                }
>>>>                throw new IllegalArgumentException("Could not parse
>>>> knowledge.");
>>>>            }
>>>>
>>>>            ObjectOutputStream out = new ObjectOutputStream(new
>>>> FileOutputStream(fileName+".compiled"));
>>>>            out.writeObject( kbuilder.getKnowledgePackages());
>>>>            out.close();
>>>>
>>>> I then load these *.compiled files into my application:
>>>>
>>>>
>>>>            for (String packageName : packages) {
>>>>                InputStream is =
>>>> getClass().getResourceAsStream("/"+packageName+".drl.compiled");
>>>>                if (is != null) {
>>>>                    logger.debug("adding package '"+packageName+"'");
>>>>                    ObjectInputStream in = new ObjectInputStream(is);
>>>> kbase.addKnowledgePackages((Collection<KnowledgePackage>)
>>>> in.readObject());
>>>>                    in.close();
>>>>                } else
>>>>                    throw new FileNotFoundException("could not find
>>>> resource for package "+packageName);
>>>>                is.close();
>>>>            }
>>>>
>>>> In some of these drl files I declare a class, for instance:
>>>>
>>>> package vcm.selection.standard;
>>>>
>>>> import com.paconsulting.pase.transport.agents.ShiftWorker;
>>>> import com.paconsulting.pase.transport.agents.VCMShiftWorker;
>>>> import com.paconsulting.pase.transport.actions.ExecutableAction;
>>>> import com.paconsulting.pase.transport.agents.ScheduleManagingContainer;
>>>> import com.paconsulting.pase.transport.agents.water.Bridge;
>>>> import com.paconsulting.pase.transport.agents.movers.AbstractMover;
>>>> import com.paconsulting.pase.transport.agents.movers.Ship;
>>>> import com.paconsulting.pase.transport.agents.movers.VCMShip;
>>>>
>>>> declare RelevantExecutableAction
>>>>        agent : ShiftWorker
>>>>        executableAction : ExecutableAction
>>>> end
>>>> ...
>>>>
>>>> When running the
>>>> kbase.addKnowledgePackages((Collection<KnowledgePackage>)
>>>> in.readObject()) I get the following ClassNotFound stack trace:
>>>>
>>>> java.lang.ClassNotFoundException:
>>>> vcm.selection.standard.RelevantExecutableAction
>>>>        at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
>>>>        at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
>>>>        at java.security.AccessController.doPrivileged(Native Method)
>>>>        at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
>>>>        at java.lang.ClassLoader.loadClass(ClassLoader.java:423)
>>>>        at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
>>>>        at java.lang.ClassLoader.loadClass(ClassLoader.java:356)
>>>>        at java.lang.Class.forName0(Native Method)
>>>>        at java.lang.Class.forName(Class.java:264)
>>>>        at
>>>> org.drools.common.DroolsObjectInputStream.resolveClass(DroolsObjectInputStream.java:85)
>>>>        at
>>>> org.drools.common.DroolsObjectInputStream.resolveClass(DroolsObjectInputStream.java:97)
>>>>        at
>>>> java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1593)
>>>>        at
>>>> java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1514)
>>>>        at
>>>> java.io.ObjectInputStream.readClass(ObjectInputStream.java:1480)
>>>>        at
>>>> java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1330)
>>>>        at
>>>> java.io.ObjectInputStream.readObject(ObjectInputStream.java:369)
>>>>        at
>>>> org.drools.rule.ConsequenceMetaData$Statement.readExternal(ConsequenceMetaData.java:61)
>>>>        at
>>>> java.io.ObjectInputStream.readExternalData(ObjectInputStream.java:1810)
>>>>        at
>>>> java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1769)
>>>>        at
>>>> java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1347)
>>>>        at
>>>> java.io.ObjectInputStream.readObject(ObjectInputStream.java:369)
>>>>        at java.util.ArrayList.readObject(ArrayList.java:733)
>>>>        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>>>>        at
>>>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
>>>>        at
>>>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>>>>        at java.lang.reflect.Method.invoke(Method.java:601)
>>>>        at
>>>> java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:1004)
>>>>        at
>>>> java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1866)
>>>>        at
>>>> java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1771)
>>>>        at
>>>> java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1347)
>>>>        at
>>>> java.io.ObjectInputStream.readObject(ObjectInputStream.java:369)
>>>>        at
>>>> org.drools.rule.ConsequenceMetaData.readExternal(ConsequenceMetaData.java:19)
>>>>        at
>>>> java.io.ObjectInputStream.readExternalData(ObjectInputStream.java:1810)
>>>>        at
>>>> java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1769)
>>>>        at
>>>> java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1347)
>>>>        at
>>>> java.io.ObjectInputStream.readObject(ObjectInputStream.java:369)
>>>>        at org.drools.rule.Rule.readExternal(Rule.java:207)
>>>>        at
>>>> java.io.ObjectInputStream.readExternalData(ObjectInputStream.java:1810)
>>>>        at
>>>> java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1769)
>>>>        at
>>>> java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1347)
>>>>        at
>>>> java.io.ObjectInputStream.readObject(ObjectInputStream.java:369)
>>>>        at
>>>> org.drools.rule.JavaDialectRuntimeData.readExternal(JavaDialectRuntimeData.java:195)
>>>>        at
>>>> java.io.ObjectInputStream.readExternalData(ObjectInputStream.java:1810)
>>>>        at
>>>> java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1769)
>>>>        at
>>>> java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1347)
>>>>        at
>>>> java.io.ObjectInputStream.readObject(ObjectInputStream.java:369)
>>>>        at java.util.HashMap.readObject(HashMap.java:1155)
>>>>        at sun.reflect.GeneratedMethodAccessor2.invoke(Unknown Source)
>>>>        at
>>>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>>>>        at java.lang.reflect.Method.invoke(Method.java:601)
>>>>        at
>>>> java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:1004)
>>>>        at
>>>> java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1866)
>>>>        at
>>>> java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1771)
>>>>        at
>>>> java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1347)
>>>>        at
>>>> java.io.ObjectInputStream.readObject(ObjectInputStream.java:369)
>>>>        at
>>>> org.drools.rule.DialectRuntimeRegistry.readExternal(DialectRuntimeRegistry.java:58)
>>>>        at
>>>> java.io.ObjectInputStream.readExternalData(ObjectInputStream.java:1810)
>>>>        at
>>>> java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1769)
>>>>        at
>>>> java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1347)
>>>>        at
>>>> java.io.ObjectInputStream.readObject(ObjectInputStream.java:369)
>>>>        at org.drools.rule.Package.readExternal(Package.java:208)
>>>>        at
>>>> org.drools.definitions.impl.KnowledgePackageImp.readExternal(KnowledgePackageImp.java:157)
>>>>        at
>>>> java.io.ObjectInputStream.readExternalData(ObjectInputStream.java:1810)
>>>>        at
>>>> java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1769)
>>>>        at
>>>> java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1347)
>>>>        at
>>>> java.io.ObjectInputStream.readObject(ObjectInputStream.java:369)
>>>>        at java.util.ArrayList.readObject(ArrayList.java:733)
>>>>        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>>>>        at
>>>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
>>>>        at
>>>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>>>>        at java.lang.reflect.Method.invoke(Method.java:601)
>>>>        at
>>>> java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:1004)
>>>>        at
>>>> java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1866)
>>>>        at
>>>> java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1771)
>>>>        at
>>>> java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1347)
>>>>        at
>>>> java.io.ObjectInputStream.readObject(ObjectInputStream.java:369)
>>>>        at
>>>> com.paconsulting.pase.core.configuration.runconfig.definition.KnowledgebaseDefinition.addPackages(KnowledgebaseDefinition.java:48)
>>>>        at
>>>> com.paconsulting.pase.core.configuration.runconfig.definition.KnowledgebaseDefinition.materialize(KnowledgebaseDefinition.java:59)
>>>>        at
>>>> com.paconsulting.pase.core.configuration.runconfig.definition.TeamDefinition.materialize(TeamDefinition.java:97)
>>>>        at
>>>> com.paconsulting.pase.core.configuration.runconfig.definition.OperatingModelDefinition.materialize(OperatingModelDefinition.java:36)
>>>>        at
>>>> com.paconsulting.pase.core.configuration.runconfig.Run.<init>(Run.java:31)
>>>>        at
>>>> com.paconsulting.pase.core.configuration.runconfig.definition.RunDefinition.materialize(RunDefinition.java:53)
>>>>        at
>>>> com.paconsulting.pase.core.configuration.runconfig.RunConfigExecutor$ScheduleExecutorWrapper.run(RunConfigExecutor.java:69)
>>>> ...
>>>>
>>>> I'm sure I miss something as this is basic functionality. Maybe I must
>>>> tell the kbase where to load the classes...
>>>>
>>>> Can someone point me in the right direction?
>>>>
>>>> Thanks,
>>>> Willem
>>>>
>>>> _______________________________________________
>>>> rules-users mailing list
>>>> rules-users@lists.jboss.org
>>>> https://lists.jboss.org/mailman/listinfo/rules-users
>>>>
>>> _______________________________________________
>>> rules-users mailing list
>>> rules-users@lists.jboss.org
>>> https://lists.jboss.org/mailman/listinfo/rules-users
>>
_______________________________________________
rules-dev mailing list
rules-dev@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-dev