]
Chris Rankin updated JBRULES-3630:
----------------------------------
Summary: ClassPathResources within ChangeSet are loaded using wrong ClassLoader (was:
Nested ClassPathResources within ChangeSet use wrong ClassLoader)
ClassPathResources within ChangeSet are loaded using wrong
ClassLoader
----------------------------------------------------------------------
Key: JBRULES-3630
URL:
https://issues.jboss.org/browse/JBRULES-3630
Project: Drools
Issue Type: Bug
Security Level: Public(Everyone can see)
Components: drools-core
Affects Versions: 5.1.1.FINAL, 5.4.0.Final
Environment: Win7 / Java6 / JBoss6
Reporter: Chris Rankin
Assignee: Mark Proctor
Attachments: ResourceHandler.diff
I am trying to load a "rules" JAR dynamically. This JAR contains a
{{change-set.xml}} and all of its DRL files:
{code:XML}
<?xml version="1.0" encoding="UTF-8"?>
<change-set
xmlns='http://drools.org/drools-5.0/change-set'
xmlns:xs='http://www.w3.org/2001/XMLSchema-instance'
xs:schemaLocation='http://drools.org/drools-5.0/change-set
http://anonsvn.jboss.org/repos/labs/labs/jbossrules/trunk/drools-api/src/...
<add>
<resource source='classpath:com/my/stuff/rules/Stuff.drl'
type='DRL' />
</add>
</change-set>
{code}
I am loading the JAR dynamically via {{URLClassLoader}} and _successfully_ creating the
ChangeSet resource:
{code}
Resource changeSet = ResourceFactory.newClassPathResource("change-set.xml",
classLoader);{code}
However, it then always explodes when I try to add the resource to the
{{KnowledgeBuilder}}, complaining that "'com/my/stuff/rules/Stuff.drl' cannot
be opened because it does not exist".
I am suspecting that the {{KnowledgeBuilder}} is not using my class loader to load
{{Stuff.drl}}, despite me passing the correct class loader in via
{{KnowledgeBuilderConfiguration}}. (And the "changeset:" handling in
{{org.drools.xml.changeset.ResourceHandler}} would seem to support my theory.)
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: