I've already answer a similar question here.. try including inside the application that is using the bundles the file called: drools.packagebuilder.conf
which contains: drools.dialect.default = java drools.dialect.java = org.drools.rule.builder.dialect.java.JavaDialectConfiguration drools.dialect.java.compiler = ECLIPSE drools.dialect.mvel = org.drools.rule.builder.dialect.mvel.MVELDialectConfiguration drools.dialect.mvel.strict = true drools.dialect.mvel.langLevel = 4 drools.accumulate.function.average = org.drools.base.accumulators.AverageAccumulateFunction drools.accumulate.function.max = org.drools.base.accumulators.MaxAccumulateFunction drools.accumulate.function.min = org.drools.base.accumulators.MinAccumulateFunction drools.accumulate.function.count = org.drools.base.accumulators.CountAccumulateFunction drools.accumulate.function.sum = org.drools.base.accumulators.SumAccumulateFunction drools.accumulate.function.collectList = org.drools.base.accumulators.CollectListAccumulateFunction drools.accumulate.function.collectSet = org.drools.base.accumulators.CollectSetAccumulateFunction drools.evaluator.coincides = org.drools.base.evaluators.CoincidesEvaluatorDefinition drools.evaluator.before = org.drools.base.evaluators.BeforeEvaluatorDefinition drools.evaluator.after = org.drools.base.evaluators.AfterEvaluatorDefinition drools.evaluator.meets = org.drools.base.evaluators.MeetsEvaluatorDefinition drools.evaluator.metby = org.drools.base.evaluators.MetByEvaluatorDefinition drools.evaluator.overlaps = org.drools.base.evaluators.OverlapsEvaluatorDefinition drools.evaluator.overlappedby = org.drools.base.evaluators.OverlappedByEvaluatorDefinition drools.evaluator.during = org.drools.base.evaluators.DuringEvaluatorDefinition drools.evaluator.includes = org.drools.base.evaluators.IncludesEvaluatorDefinition drools.evaluator.starts = org.drools.base.evaluators.StartsEvaluatorDefinition drools.evaluator.startedby = org.drools.base.evaluators.StartedByEvaluatorDefinition drools.evaluator.finishes = org.drools.base.evaluators.FinishesEvaluatorDefinition drools.evaluator.finishedby = org.drools.base.evaluators.FinishedByEvaluatorDefinition drools.evaluator.equality = org.drools.base.evaluators.EqualityEvaluatorsDefinition drools.evaluator.comparable = org.drools.base.evaluators.ComparableEvaluatorsDefinition drools.evaluator.set = org.drools.base.evaluators.SetEvaluatorsDefinition drools.evaluator.matches = org.drools.base.evaluators.MatchesEvaluatorsDefinition drools.evaluator.soundslike = org.drools.base.evaluators.SoundslikeEvaluatorsDefinition Cheers On Tue, Feb 7, 2012 at 9:03 PM, Alexander Filipchik <[email protected]> wrote: > It's not an obvious how to OSGI-fy something :) > > I did some homework - now I have OSGi-ified versions of drools-spring and > drools-camel. > Also I created own bundle and tried to import KnowledgeBaseFactoryService, > ServiceRegistry and KnowledgeBaseFactoryService as described in > http://docs.jboss.org/jbpm/v5.2/userguide/ch18.html#d0e4308. > All what I got - NullPointerException from karaf core (haven't gotten full > staketrace yet. For some reason it is just: > 15:11:34,484 | INFO | l Console Thread | Console | > ? ? | 34 - org.apache.karaf.shell.console > - 2.2.2.fuse-02-13 | Exception caught while executing command > java.lang.NullPointerException > ) > > So, I spent some time randomly adding and removing configuration params and > I found - NPE occurs when I'm trying to import > org.drools.KnowledgeBaseFactoryService. > I guess (i'm not OSGI expert) it could be because org.drools package is > exported in 2! bundles. It is in drools-core and knowledge-api bundles. And > I guess, karaf container just can't link my bundle with both core and api, > only first bundle which contains requested package (org.drools) wins. > > Any ideas on how to make it work? > I actually have one - every bundle should export own package. For > knowledge-api it should be org.drools.api, and org.drools.core for > drools-core. > > Here is full log of similar packages: > WARNING: multiple bundles are exporting package org.drools.command > - org.drools.core [218] > - org.drools.api [216] > - org.drools.internalapi [217] > > WARNING: multiple bundles are exporting package org.drools.runtime.process > - org.drools.core [218] > - org.drools.api [216] > > WARNING: multiple bundles are exporting package org.drools.time > - org.drools.core [218] > - org.drools.api [216] > > WARNING: multiple bundles are exporting package > org.apache.geronimo.transaction > - org.apache.aries.transaction.manager [123] > - org.apache.aries.transaction.manager [51] > > WARNING: multiple bundles are exporting package org.drools > - org.drools.core [218] > - org.drools.api [216] > > WARNING: multiple bundles are exporting package > org.apache.geronimo.transaction.manager > - org.apache.aries.transaction.manager [123] > - org.apache.aries.transaction.manager [51] > > WARNING: multiple bundles are exporting package org.drools.grid > - org.drools.core [218] > - org.drools.spring [220] > > WARNING: multiple bundles are exporting package jline > - org.apache.servicemix.bundles.jruby [210] > - org.apache.karaf.shell.console [34] > > WARNING: multiple bundles are exporting package > org.apache.geronimo.transaction.log > - org.apache.aries.transaction.manager [123] > - org.apache.aries.transaction.manager [51] > > WARNING: multiple bundles are exporting package org.drools.management > - org.drools.core [218] > - org.drools.api [216] > > WARNING: multiple bundles are exporting package org.drools.agent > - org.drools.core [218] > - org.drools.api [216] > > WARNING: multiple bundles are exporting package org.drools.event > - org.drools.core [218] > - org.drools.api [216] > > 2012/2/3 Mark Proctor <[email protected]> >> >> neither spring or camel have been OSGi-ified. only api, core, compiler, >> templates, decision-tables and flow have. >> >> If someone wants to OSGi-ify those and contribute back they are very >> welcome: >> 1) update the pom.xml to use the osgi bundle plugin, see other existing >> poms. >> >> https://github.com/droolsjbpm/drools/blob/master/drools-decisiontables/pom.xml >> 2) create an Activator to register the module, again see Activator's for >> core, compiler etc. >> >> https://github.com/droolsjbpm/drools/blob/master/drools-decisiontables/src/main/java/org/drools/osgi/decisiontables/Activator.java >> 3) update the osgi bundle's pom with new dependencies, make sure to pull >> in the spring ones, unless the actual project provides osgi ready jars. >> >> https://github.com/droolsjbpm/droolsjbpm-build-distribution/tree/master/drools-osgi-bundles >> 4) Update the boot-bundles.properties so that Spring DM loads the OSGi >> dependencies >> >> https://github.com/droolsjbpm/droolsjbpm-build-distribution/blob/master/drools-osgi-bundles/org.drools.osgi.test/src/test/filtered-resources/boot-bundles.properties >> 5) write unit tests for spring and camel. >> >> Mark >> On 03/02/2012 03:47, Alexander Filipchik wrote: >> >> Hello all! >> >> Don't know if it is right list to ask, but I'm trying to make drools + >> camel running on Fuse (ServiceMix container). >> I couldn't even install OSGI drools artifacts for 5.3.1 version (because >> of weird dependency on drools.core Snapshot), >> but did it with v5.2.1. I used: >> >> mvel2/2.1.0, >> org.drools/drools-core/5.2.1.Final, org.drools/drools-compiler/5.2.1.Final, >> org.drools/knowledge-api/5.2.1.Final >> and org.drools/drools-camel/5.2.1.Final. >> >> All are installed and active. Part of log: >> >> [ 162] [Active ] [ ] [ ] [ 60] Drools :: Compiler >> (5.2.1.Final) >> >> [ 163] [Active ] [ ] [ ] [ 60] mvel2 >> (2.1.0.drools4) >> >> [ 164] [Active ] [ ] [ ] [ 60] Drools :: Core >> (5.2.1.Final) >> >> [ 165] [Active ] [ ] [ ] [ 60] Knowledge API >> (5.2.1.Final) >> >> [ 172] [Active ] [ ] [ ] [ 60] >> mvn:org.drools/drools-camel/5.2.1.Final >> >> Then I tried to add my own camel-drools router (I created OSGI bundle for >> it). It depends on: >> >> Import-Package: >> org.apache.activemq,org.apache.activemq.camel.component,org.apache.activemq.pool,org.apache.camel;version="[2.8,3)",org.apache.camel.builder;version="[2.8,3)",org.apache.camel.component.jms;version="[2.8,3)",org.apache.camel.model;version="[2.8,3)",org.drools.camel.component,org.osgi.service.blueprint;version="[1.0.0,2.0.0)",org.springframework.transaction;version="[3,4)" >> >> It tried to install it to a container but all I got - >> >> Error executing command: Unresolved constraint in bundle >> com.betfair.drools [170]: Unable to resolve 170.0: missing requirement >> [170.0] package; (package=org.drools.camel.component) >> >> I even tried to put drools-camel.jar with org.drools.camel.component in a >> lib folder and add package to org.osgi.framework.system.packages.extra, but >> got same result. >> >> Do you have any idea, blog posts, samples which could help me? >> I'm completely stuck. >> >> Thanks, >> Alex >> >> >> _______________________________________________ >> rules-users mailing list >> [email protected] >> https://lists.jboss.org/mailman/listinfo/rules-users >> >> >> >> _______________________________________________ >> rules-users mailing list >> [email protected] >> https://lists.jboss.org/mailman/listinfo/rules-users >> > > > _______________________________________________ > rules-dev mailing list > [email protected] > https://lists.jboss.org/mailman/listinfo/rules-dev > -- - CTO @ http://www.plugtree.com - MyJourney @ http://salaboy.wordpress.com - Co-Founder @ http://www.jugargentina.org - Co-Founder @ http://www.jbug.com.ar - Salatino "Salaboy" Mauricio - _______________________________________________ rules-dev mailing list [email protected] https://lists.jboss.org/mailman/listinfo/rules-dev
