[
https://issues.jboss.org/browse/JBRULES-3630?page=com.atlassian.jira.plug...
]
Chris Rankin commented on JBRULES-3630:
---------------------------------------
I have created a pull request on github against drools-core with this fix.
This bug has been present since _at least_ Drools 5.1.1, which is what we are currently
using at work. Releasing drools-core-5.1.2 with this fix would be very helpful from our
point of view.
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:
http://www.atlassian.com/software/jira