is your drools jar in you aar? or in WEB-INF/lib?

-- dims

On 1/14/07, Paul O'Connor <[EMAIL PROTECTED]> wrote:

I have a Axis2 web service that evaluates services requests with Drools. It
works fine under Axis2 version 1.0. Migrating to Axis2 v. 1.1 (or 1.1.1)
breaks the service with what appears to be a classloader issue with the
deployment classloader. I have created a simple test case to demonstrate:
Called from my skeleton service method, the following code segment tries to
reconstitute a Drools rule package from the file system:

                // load the class that we are told next can't be found
                Class clazz = Class.forName("org.drools.spi.Consequence",
true, this.getClass().getClassLoader());

                // output snied status message...
                System.out.println("CLASS THAT CAN'T BE FOUND IN NEXT
OPERATION: " + clazz.getCanonicalName() + " CL: " + clazz.getClassLoader() +
"/n");

                // try to reconstitute a Drools Package from file
                org.drools.rule.Package pack = null;
                try
                {
                        FileInputStream fis = new
FileInputStream("c:\\package.drl");
                        ObjectInputStream objStream = new
ObjectInputStream(fis);
                        pack = (Package)objStream.readObject();
                } catch (Exception e) {
                        System.out.println("Could not load Drools Package:
");
                        e.printStackTrace();
                }

                //add the package to a rulebase (deploy the rule package).
                RuleBase ruleBase = RuleBaseFactory.newRuleBase();
                ruleBase.addPackage( pack );

                return ruleBase;

Under Axis2 1.1 (& 1.1.1), this is the result of calling the service method:

CLASS THAT CAN'T BE FOUND IN NEXT OPERATION: org.drools.spi.Consequence CL:
org.
[EMAIL PROTECTED]/n
java.lang.NoClassDefFoundError: org/drools/spi/Consequence
        at java.lang.ClassLoader.defineClass1(Native Method)
        at java.lang.ClassLoader.defineClass(ClassLoader.java:620)
        at java.lang.ClassLoader.defineClass(ClassLoader.java:465)
        at
org.drools.rule.PackageCompilationData$PackageClassLoader.fastFindCla
ss(Unknown Source)
        at
org.drools.rule.PackageCompilationData$PackageClassLoader.loadClass(U
nknown Source)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
        at
org.drools.common.ObjectInputStreamWithLoader.resolveClass(Unknown So
urce)
        at
java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:154
3)
        at
java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1465)
        at
java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1
698)
        at
java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1304)
        at
java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:19
17)
        at
java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1841)

        at
java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1
718)
        at
java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1304)
        at java.io.ObjectInputStream.readObject(ObjectInputStream.java:349)

Thanks in advance for any assistance!


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]




--
Davanum Srinivas : http://www.wso2.net (Oxygen for Web Service Developers)

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to