[
https://issues.jboss.org/browse/JBRULES-2944?page=com.atlassian.jira.plug...
]
Bernd Ruecker reopened JBRULES-2944:
------------------------------------
Hi Mark.
Actually if you look at the supported SOA-Plattform from JBoss, there Drools is deployed
as ESB-Archive itself. The app "just" uses it. In this Scenario Drools is part
of the Platform an cannot be redeployed with the APP.
So if Drools rely on this behavior, the layout of the SOA Platform is invalid. What do you
think?
Cheers
Bernd
Redeployment of Drools ActionHandler leads to Exception when building
rules package (classLoader is not connected to a domain)
------------------------------------------------------------------------------------------------------------------------------
Key: JBRULES-2944
URL:
https://issues.jboss.org/browse/JBRULES-2944
Project: Drools
Issue Type: Bug
Security Level: Public(Everyone can see)
Components: drools-core
Affects Versions: 5.0.1.FINAL
Environment: JBoss SOA-P 5.0.0
Reporter: Bernd Ruecker
Assignee: Mark Proctor
See forum entry as well.
We have an jBPM 3 Action Handler calling Drools. Drools and jBPM itself are deployed as
esb archive. The ActionHandler is part of the application and normally deployed within an
EAR (but we tested a plain jar and an esb as well).
When redeploying the ActionHandler, it leads to an exception, which indicates, that
somehow Drools internally have cached an old classloader:
org.drools.RuntimeDroolsException: java.lang.IllegalStateException:
BaseClassLoader@14f744d{vfszip:xxx.ear/} classLoader is not connected to a domain
(probably undeployed?) for class org.drools.base.extractors.BaseObjectClassFieldReader
at
org.drools.base.ClassFieldAccessorFactory.getClassFieldReader(ClassFieldAccessorFactory.java:152)
at
org.drools.base.ClassFieldAccessorCache$CacheEntry.getReadAccessor(ClassFieldAccessorCache.java:315)
at
org.drools.base.ClassFieldAccessorCache.getReadAcessor(ClassFieldAccessorCache.java:245)
at org.drools.base.ClassFieldAccessorStore.wire(ClassFieldAccessorStore.java:379)
at org.drools.base.ClassFieldAccessorStore.merge(ClassFieldAccessorStore.java:270)
at org.drools.compiler.PackageBuilder.addPackage(PackageBuilder.java:739)
at org.drools.compiler.PackageBuilder.addKnowledgeResource(PackageBuilder.java:515)
at org.drools.builder.impl.KnowledgeBuilderImpl.add(KnowledgeBuilderImpl.java:25)
at xxx.jbpm.actions.FireRules.createRulesContext(FireRules.java:94)
at xxx.jbpm.actions.FireRules.executeAction(FireRules.java:51)
at
xxx.jbpm.actions.AbstractGeneralActionHandler.execute(AbstractGeneralActionHandler.java:43)
at org.jbpm.graph.def.Action.execute(Action.java:118)
....
I have seen that the code around this has changed in 5.2-SNAPSHOT, but I am not sure, if
that fixes the problem and I cannot easily test this. Could somebody of you have a look?
Otherwise it is a serious bug!
Quick addition: We had the problem not only when adding rules from DRL files but as well
when using Guvnor.
Thanks
Bernd
--
This message is automatically generated by JIRA.
For more information on JIRA, see:
http://www.atlassian.com/software/jira