Thanks for the reply. I will try this tomorrow and keep you posted!

2010/4/5 Jason Davidson [via Drools - Java Rules Engine] <
ml-node+698731-1378279289-217...@n3.nabble.com<ml-node%2b698731-1378279289-217...@n3.nabble.com>
>

> I don't know if this helps, but I had to turn the MVEL JIT compiler off in
> the Equinox OSGi container:
>             OptimizerFactory.setDefaultOptimizer("reflective");
>
> Also, we used pre-compiled packages instead of compiling the DRL files at
> runtime.  For example:
>
> ....
>             RuleBaseConfiguration ruleBaseConfig = new
> RuleBaseConfiguration();
>
> ruleBaseConfig.setClassLoader(this.getClass().getClassLoader());
>
>             //MVEL in OSGi is a complete CF - this turns off the MVEL JIT -
> potential resource hog but that's the nature of OSGi classloading
>             //and Drools...
>             OptimizerFactory.setDefaultOptimizer("reflective");
>
>             RuleBase ruleBase =
> RuleBaseFactory.newRuleBase(ruleBaseConfig);
>
>             InputStream pkgIs =
> this.getClass().getResourceAsStream("/com/cjs/hazel/rules/com.cjs.hazel.rules.pkg");
>             addPackage(ruleBase,pkgIs);
> .....
>
> On Fri, Apr 2, 2010 at 4:42 PM, AervTerrh <[hidden 
> email]<http://n3.nabble.com/user/SendEmail.jtp?type=node&node=698731&i=0>
> > wrote:
>
>>
>> Hey,
>>
>> Okay. I know this problem can be found all over. But I can't seem to
>> figure
>> out a solution to it. Somehow I must be doing something wrong. I've
>> created
>> a simple application that evaluates some rules and changes some objects
>> based on that. Everything worked fine, not a single problem there. All
>> libraries could be easily found etc.
>>
>> Now I wanted to convert this to a Felix OSGi bundle.
>>
>> So, what I did, was creating a bundle (new plugin project based on
>> existing
>> jars) with the drools jars (core, compiler, api, jsr) and tried the next
>> code in the RuleEngine class:
>>
>> Properties props = new Properties();
>> props.setProperty("drools.dialect.java.compiler", "JANINO");
>> KnowledgeBuilderConfiguration config =
>> KnowledgeBuilderFactory.newKnowledgeBuilderConfiguration(props, null);
>> (here's where it fails)
>> KnowledgeBuilder kbuilder =
>> KnowledgeBuilderFactory.newKnowledgeBuilder(config);
>> kbuilder.add(ResourceFactory.newClassPathResource(fileName,
>> RuleEngine.class), ResourceType.DRL);
>>
>> This is pretty much the loading of the rule file. The RuleEngine is
>> started
>> in an Activator. The file is found and everything. But I keep getting the
>> same error when starting the bundle.
>>
>> org.drools.RuntimeDroolsException: Unable to load dialect
>> 'org.drools.rule.builder.dialect.mvel.MVELDialectConfigurati on:mvel:null'
>> at org.drools.compiler.PackageBuilderConfiguration.addDialect(P
>> ackageBuilderConfiguration.java:274)
>> at org.drools.compiler.PackageBuilderConfiguration.buildDialect
>> ConfigurationMap(PackageBuilderConfiguration.java:259)
>> at org.drools.compiler.PackageBuilderConfiguration.init(Package
>> BuilderConfiguration.java:176)
>> at
>>
>> org.drools.compiler.PackageBuilderConfiguration.<init>(PackageBuilderConfiguration.java:148)
>> at org.drools.builder.impl.KnowledgeBuilderProviderImpl.newKnow
>> ledgeBuilderConfiguration(KnowledgeBuilderProviderImpl.java: 21)
>> at org.drools.builder.KnowledgeBuilderFactory.newKnowledgeBuild
>> erConfiguration(KnowledgeBuilderFactory.java:68)
>> at test.Activator$RuleCreator.createRule(Activator.java:52)
>> at test.Activator.start(Activator.java:32)
>> at org.apache.felix.framework.util.SecureAction.startActivator(
>> SecureAction.java:639)
>> at org.apache.felix.framework.Felix.activateBundle(Felix.java:1 700)
>> at org.apache.felix.framework.Felix.startBundle(Felix.java:1622 )
>> at org.apache.felix.framework.Felix.setActiveStartLevel(Felix.j ava:1077)
>> at org.apache.felix.framework.StartLevelImpl.run(StartLevelImpl .java:264)
>> at java.lang.Thread.run(Unknown Source)
>> Caused by: java.lang.ClassNotFoundException:
>> org.drools.rule.builder.dialect.mvel.MVELDialectConfiguratio n
>> at java.net.URLClassLoader$1.run(Unknown Source)
>>
>>
>> The packages I import in the manifest:
>> Import-Package: org.codehaus.janino;version="2.4.3",
>> org.drools,
>> org.drools.builder,
>> org.drools.compiler,
>> org.drools.io,
>> org.drools.rule,
>> org.drools.rule.builder.dialect.java,
>> org.drools.rule.builder.dialect.mvel,
>> org.osgi.framework;version="1.3.0"
>>
>> In my target platform I add the the drools project I created (with
>> drools-xx.jar (the necessary ones), I also added the following:
>> -ant
>> -antlr-runtime
>> -janino
>> -jsr94
>> -xstream
>>
>> But I can't seem to get it working... Does anyone know what can be done
>> about this? Or a working example of Drools in Felix OSGi would also be
>> helpful.
>>
>> Any help is very much appreciated, I've been looking into this for days.
>>
>> Thanks!
>>
>> Kind regards,
>>
>> Aerv
>> --
>> View this message in context:
>> http://n3.nabble.com/Drools-and-OSGi-tp694011p694011.html
>> Sent from the Drools - User mailing list archive at Nabble.com.
>> _______________________________________________
>> rules-users mailing list
>> [hidden 
>> email]<http://n3.nabble.com/user/SendEmail.jtp?type=node&node=698731&i=1>
>>
>> https://lists.jboss.org/mailman/listinfo/rules-users
>>
>
>
> _______________________________________________
> rules-users mailing list
> [hidden 
> email]<http://n3.nabble.com/user/SendEmail.jtp?type=node&node=698731&i=2>
> https://lists.jboss.org/mailman/listinfo/rules-users
>
>
> ------------------------------
>  View message @ http://n3.nabble.com/Drools-and-OSGi-tp694011p698731.html
> To unsubscribe from Drools and OSGi, click here< (link removed) ==>.
>
>
>


-- 
__________________________________
Van Isterdael Wouter
Roesbeke 27
9402 Meerbeke
0496401476

-- 
View this message in context: 
http://n3.nabble.com/Drools-and-OSGi-tp694011p698969.html
Sent from the Drools - User mailing list archive at Nabble.com.
_______________________________________________
rules-users mailing list
rules-users@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-users

Reply via email to