[rules-users] BRMS Insurance Sample - Invalid Class Exception

Paul Browne paulb at firstpartners.net
Thu Oct 18 17:54:20 EDT 2007


Folks,

Using BRMS 4.0.2 and examples 4.02 as downloaded from the 'official 
release' site.

Working my way through the Drools Insurance Sample (on BRMS). I'm 
deploying BRMS successfully on JBoss 4.2.1 with Java 1.6.0_02. I can 
import the repository_export.xml ok and see the files. I leave this part 
of the sample running as per the instructions.

When I go to the 2nd part of the example I have a problem running the 
unit tests: within /drools-examples/drools-insurance I run: mvn clean 
package. I get the error(1) at the bottom of this email. I do *not* get 
the output as per the documentaiton. I skip the tests, build and deploy 
the drools-insurance.war

When deploying the war I see the following error (2) in the JBoss logs . 
However main drools insurance page loads ok as per the screenshot in the 
documentation):
 22:43:13,576 INFO  [WebappClassLoader] 
validateJarFile(C:\software\jboss-4-2-1\server\default\.\tmp\deploy\tmp26632drool
s-insurance-exp.war\WEB-INF\lib\servlet-api-2.3.jar) - jar not loaded. 
See Servlet Spec 2.3, section 9.7.2. Offending class: 
javax/servlet/Servlet.class

I enter some values in the web app (make sure there are no nulls) press 
'continue' then get the same error (3)
22:48:55,294 ERROR [STDERR] java.io.InvalidClassException: 
org.mvel.AbstractParser; local class incompatible: stream cla
ssdesc serialVersionUID = 256028721591955695, local class 
serialVersionUID = -7464517220700761297
22:48:55,310 ERROR [STDERR]     at 
java.io.ObjectStreamClass.initNonProxy(ObjectStreamClass.java:562)

As an aside , when I look for the latest BRMS , as mentioned in the docs 
(http://cruisecontrol.jboss.com/cc/artifacts/jboss-rules) - I get a 
'Invalid File or Directory'

Is there anything I should try to resolve this?

Paul





RuleAgent(insuranceconfig) INFO (Thu Oct 18 22:37:44 BST 2007): 
Configuring package provider : URLScanner monitoring URL
s:  
http://localhost:8080/drools-jbrms/org.drools.brms.JBRMS/package/org.acme.insurance.base/InsuranceDemo
RuleAgent(insuranceconfig) EXCEPTION (Thu Oct 18 22:37:45 BST 2007): 
org.mvel.AbstractParser; local class incompatible:
stream classdesc serialVersionUID = 256028721591955695, local class 
serialVersionUID = -7464517220700761297. Stack trace
 should follow..io.ObjectStreamClass.initNonProxy(Unknown Source)
java.io.InvalidClassException: org.mvel.AbstractParser; local class 
incompatible: stream classdesc serialVersionUID = 25
6028721591955695, local class serialVersionUID = -7464517220700761297
        at java.io.ObjectStreamClass.initNonProxy(Unknown Source)rce)
        at java.io.ObjectInputStream.readNonProxyDesc(Unknown Source)
        at java.io.ObjectInputStream.readClassDesc(Unknown Source)urce)
        at java.io.ObjectInputStream.readNonProxyDesc(Unknown Source)
        at java.io.ObjectInputStream.readClassDesc(Unknown Source)rce)
        at java.io.ObjectInputStream.readOrdinaryObject(Unknown Source)
        at java.io.ObjectInputStream.readObject0(Unknown Source)Source)
        at java.io.ObjectInputStream.defaultReadFields(Unknown Source)
        at java.io.ObjectInputStream.readSerialData(Unknown Source)ce)
        at java.io.ObjectInputStream.readOrdinaryObject(Unknown Source)
        at java.io.ObjectInputStream.readObject0(Unknown Source)Source
        at java.io.ObjectInputStream.defaultReadFields(Unknown Source)
        at java.io.ObjectInputStream.readSerialData(Unknown Source)ce)
        at java.io.ObjectInputStream.readOrdinaryObject(Unknown Source)
        at java.io.ObjectInputStream.readObject0(Unknown Source)Source)
        at java.io.ObjectInputStream.defaultReadFields(Unknown Source)
        at java.io.ObjectInputStream.readSerialData(Unknown Source)ce)
        at java.io.ObjectInputStream.readOrdinaryObject(Unknown Source)
        at java.io.ObjectInputStream.readObject0(Unknown Source)Source)
        at java.io.ObjectInputStream.defaultReadFields(Unknown Source)
        at java.io.ObjectInputStream.readSerialData(Unknown Source)
        at java.io.ObjectInputStream.readOrdinaryObject(Unknown Source)
        at java.io.ObjectInputStream.readObject0(Unknown Source)ource)
        at java.io.ObjectInputStream.readObject(Unknown Source)own Source)
        at java.util.HashMap.readObject(Unknown Source)ce)
        at sun.reflect.GeneratedMethodAccessor2.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
        at java.lang.reflect.Method.invoke(Unknown Source)known Source)
        at java.io.ObjectStreamClass.invokeReadObject(Unknown Source)
        at java.io.ObjectInputStream.readSerialData(Unknown Source)
        at java.io.ObjectInputStream.readOrdinaryObject(Unknown Source)
        at java.io.ObjectInputStream.readObject0(Unknown Source)urce)
        at java.io.ObjectInputStream.readObject(Unknown Source) Source)
        at org.drools.rule.Package.readExternal(Package.java:194)
        at java.io.ObjectInputStream.readExternalData(Unknown Source)
        at java.io.ObjectInputStream.readOrdinaryObject(Unknown 
Source)java:54)
        at java.io.ObjectInputStream.readObject0(Unknown Source)va:137)
        at java.io.ObjectInputStream.readObject(Unknown Source)java:109)
        at 
org.drools.agent.HttpClientImpl.fetchPackage(HttpClientImpl.java:54)
        at org.drools.agent.URLScanner.readPackage(URLScanner.java:137)0)
        at org.drools.agent.URLScanner.getChangeSet(URLScanner.java:109))
        at 
org.drools.agent.URLScanner.loadPackageChanges(URLScanner.java:88)
        at org.drools.agent.RuleAgent.checkForChanges(RuleAgent.java:330)
        at org.drools.agent.RuleAgent.refreshRuleBase(RuleAgent.java:298)
        at org.drools.agent.RuleAgent.configure(RuleAgent.java:284)48)
        at org.drools.agent.RuleAgent.init(RuleAgent.java:208)ava:216)
        at 
org.drools.agent.RuleAgent.newRuleAgent(RuleAgent.java:176)romRuleAgent(InsuranceSessionHelper.java:26)
        at 
org.drools.agent.RuleAgent.newRuleAgent(RuleAgent.java:148)suranceSessionHelper.java:17)
        at 
org.drools.agent.RuleAgent.newRuleAgent(RuleAgent.java:216)ntalInfoTest.java:23)
        at 
org.acme.insurance.web.InsuranceSessionHelper.loadRuleBaseFromRuleAgent(InsuranceSessionHelper.java:26)
        at 
org.acme.insurance.web.InsuranceSessionHelper.getSession(InsuranceSessionHelper.java:17)
        at 
org.acme.insurance.test.SupplementalInfoTest.setUp(SupplementalInfoTest.java:23)
        at junit.framework.TestCase.runBare(TestCase.java:125)
        at junit.framework.TestResult$1.protect(TestResult.java:106)
        at junit.framework.TestResult.runProtected(TestResult.java:124)
        at junit.framework.TestResult.run(TestResult.java:109)
        at junit.framework.TestCase.run(TestCase.java:118)tive Method)
        at junit.framework.TestSuite.runTest(TestSuite.java:208)ource)
        at junit.framework.TestSuite.run(TestSuite.java:203)nknown Source)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown 
Source)estSet.java:210)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown 
Source)uteTestSet(AbstractDirectoryTestSuite.java:135
        at java.lang.reflect.Method.invoke(Unknown Source)
        at 
org.apache.maven.surefire.junit.JUnitTestSet.execute(JUnitTestSet.java:210)DirectoryTestSuite.java:122)
        at 
org.apache.maven.surefire.suite.AbstractDirectoryTestSuite.executeTestSet(AbstractDirectoryTestSuite.java:135
)       at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at 
org.apache.maven.surefire.suite.AbstractDirectoryTestSuite.execute(AbstractDirectoryTestSuite.java:122)
        at org.apache.maven.surefire.Surefire.run(Surefire.java:129)ource)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown 
Source)Process(SurefireBooter.java:225)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown 
Source)oter.java:747)
        at java.lang.reflect.Method.invoke(Unknown Source)psed: 0.671 
sec <<< FAILURE!
        at 
org.apache.maven.surefire.booter.SurefireBooter.runSuitesInProcess(SurefireBooter.java:225)
        at 
org.apache.maven.surefire.booter.SurefireBooter.main(SurefireBooter.java:747)
Tests run: 5, Failures: 0, Errors: 5, Skipped: 0, Time elapsed: 0.655 
sec <<< FAILURE!
Running org.acme.insurance.test.DriverTestped: 0, Time elapsed: 0 sec 
<<< FAILURE!
Tests run: 7, Failures: 0, Errors: 7, Skipped: 0, Time elapsed: 0.016 
sec <<< FAILURE!
Running org.acme.insurance.test.DriverAdditionalInfoTestlapsed: 0.015 
sec <<< FAILURE!
Tests run: 1, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 0.015 
sec <<< FAILURE!
Running org.acme.insurance.test.InsuranceCalculateTest
Tests run: 3, Failures: 0, Errors: 3, Skipped: 0, Time elapsed: 0.016 
sec <<< FAILURE!




More information about the rules-users mailing list