josh krupka commented on JBRULES-2253:
I was never able to break it using a simple reproducible test case, and ended up changing
the class to be declared in an external .java file to get around it in our application.
It seemed to break only when there were enough facts/rules fired to cause the ASM
optimizer to kick in, and the class I was having a problem with referred to a class that
had an object tree several levels deep. That could have been part of the problem as
ClassNotFound when ASM optimizer kicks in in MVEL consequence
Issue Type: Bug
Security Level: Public(Everyone can see)
Affects Versions: 5.0.1.FINAL
Reporter: Michael Neale
Assignee: Tihomir Surdilovic
Fix For: 5.3.0.M1
(ok if the subject is really confusing, perhaps this bug isn't for you).
In chasing down JBRULES-2234 I found this. Instructions (apologies for relying on Guvnor
To reproduce is not
easy, but here are some instructions:
* Run latest Guvnor (if you are able to, if not, then the rest is moot !).
* Import the attached repo (unzip it first).
* browse to KnowledgeBases/org/acme/insurance/pricing/
- press "build package"
* shut it down, restart (flushes caches etc...)
* browse to KnowledgeBases/org/acme/insurance/pricing/Test Scenarios
* open PolicyQuotePackageTest
* run it:
Now you should see an exception like this:
Caused by: java.lang.NoClassDefFoundError: org/acme/insurance/Policy
at ASMAccessorImpl_62408281250565694450.setValue(Unknown Source)
This is due to it loading a previously serialized version of the KB.
If it was to run off a freshly compiled one, its all fine. Also, if I
tell MVEL to NOT use ASM optimizer, it works fine (using reflection).
So clearly the stuff is available to the classpath in the right
places... its only to do with ASM in mvel post deserialization. (and
for that to happen, MVEL has to execute the compiled expression enough
to kick in the JIT).
MVELCompilationUnit in drools is worth examining too... still not sure where the problem
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira