[rules-users] Dynamic Rule Loading
Esteban Aliverti
esteban.aliverti at gmail.com
Wed Jun 16 08:21:13 EDT 2010
Are you including drools-compiler as a dependency?
On Tue, Jun 15, 2010 at 5:28 PM, Fnu Mahalakshmi <FMahalakshmi at nyx.com>wrote:
> Hi,
>
> I was trying to use knowledge builder package for dynamic loading of the
> rule files. Getting major errors.
>
> My knowledge builder basically adds the rule resources from the
> change-set.xml file which I have in my project directory.
>
> I am using the knowledge agent and knowledge base to add all the packages
> loaded from my change-set xml file.
>
> Am I wrong somewhere???
>
> My code is as follows:
>
>
> private KnowledgeBase loadRules(String[] rules) throws Exception{
>
> KnowledgeBuilder kbuilder = KnowledgeBuilderFactory.newKnowledgeBuilder();
> kbuilder.add( ResourceFactory.newClassPathResource(
> "/change-set.xml", getClass() ),
> ResourceType.CHANGE_SET );
> if ( kbuilder.hasErrors() ) {
> System.err.println( kbuilder.getErrors().toString() );
> }
> KnowledgeAgent kagent = KnowledgeAgentFactory.newKnowledgeAgent(
> "MyAgent" );
> kagent.applyChangeSet(
> ResourceFactory.newClassPathResource("/change-set.xml", getClass()));
> KnowledgeBase kbase = kagent.getKnowledgeBase();
> kbase.addKnowledgePackages(kbuilder.getKnowledgePackages());
>
> return kbase;
> }
>
> my change-set.xml is as follows:
>
> <?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='drools-change-set-5.0.xsd' >
> <add>
> <resource source='src/main/rules/' type='DRL' />
> </add>
> </change-set>
>
> I am getting the following error stack when I run:
>
> Exception in thread "main" org.drools.ProviderInitializationException:
> Provider org.drools.builder.impl.KnowledgeBuilderProviderImpl could not be
> set.
> at
> org.drools.builder.KnowledgeBuilderFactory.loadProvider(KnowledgeBuilderFactory.java:111)
> at
> org.drools.builder.KnowledgeBuilderFactory.getKnowledgeBuilderProvider(KnowledgeBuilderFactory.java:101)
> at
> org.drools.builder.KnowledgeBuilderFactory.newKnowledgeBuilder(KnowledgeBuilderFactory.java:29)
> at com.org.RuleRunner.loadRules(RuleRunner.java:58)
> at com.org.RuleRunner.runStatelessRules(RuleRunner.java:127)
> at com.org.RulesTest.main(RulesTest.java:40)
> Caused by: java.lang.ClassNotFoundException:
> org.drools.builder.impl.KnowledgeBuilderProviderImpl
> at java.net.URLClassLoader$1.run(Unknown Source)
> at java.security.AccessController.doPrivileged(Native Method)
> at java.net.URLClassLoader.findClass(Unknown Source)
> at java.lang.ClassLoader.loadClass(Unknown Source)
> at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
> at java.lang.ClassLoader.loadClass(Unknown Source)
> at java.lang.ClassLoader.loadClassInternal(Unknown Source)
> at java.lang.Class.forName0(Native Method)
> at java.lang.Class.forName(Unknown Source)
> at
> org.drools.builder.KnowledgeBuilderFactory.loadProvider(KnowledgeBuilderFactory.java:108)
> ... 5 more
>
>
> The error comes exactly at the start where I call knowledge builder.
> Please help!!
>
> Thanks
> M
>
> Please consider the environment before printing this email.
>
> Visit our website at http://www.nyse.com
>
> ****************************************************
>
> Note: The information contained in this message and any attachment to it
> is privileged, confidential and protected from disclosure. If the reader of
> this message is not the intended recipient, or an employee or agent
> responsible for delivering this message to the intended recipient, you are
> hereby notified that any dissemination, distribution or copying of this
> communication is strictly prohibited. If you have received this
> communication in error, please notify the sender immediately by replying to
> the message, and please delete it from your system. Thank you. NYSE
> Euronext.
>
>
> _______________________________________________
> rules-users mailing list
> rules-users at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/rules-users
>
--
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
Esteban Aliverti
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/rules-users/attachments/20100616/83036389/attachment.html
More information about the rules-users
mailing list