Hi,
I have created a camel drools project using kie-aries-blueprint (code
refactored but not yet committed).
When ksession is created, I get this error message :
Caused by:
org.osgi.service.blueprint.container.ComponentDefinitionException: No
KSession found in kmodule.xml with id 'ksession1'.
at
org.kie.aries.blueprint.factorybeans.KieObjectsFactoryBean.createKieSessionRef(KieObjectsFactoryBean.java:70)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)[:1.6.0_51]
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)[:1.6.0_51]
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)[:1.6.0_51]
at java.lang.reflect.Method.invoke(Method.java:597)[:1.6.0_51]
at
org.apache.aries.blueprint.utils.ReflectionUtils.invoke(ReflectionUtils.java:297)[7:org.apache.aries.blueprint.core:1.0.1]
at
org.apache.aries.blueprint.container.BeanRecipe.invoke(BeanRecipe.java:958)[7:org.apache.aries.blueprint.core:1.0.1]
at
org.apache.aries.blueprint.container.BeanRecipe.getInstance(BeanRecipe.java:313)[7:org.apache.aries.blueprint.core:1.0.1]
The kmodule.xml file created under META-INF directory contains a ksession1
<?xml version="1.0" encoding="UTF-8"?>
<kmodule
xmlns="http://jboss.org/kie/6.0.0/kmodule">
<kbase name="drl_sample">
<ksession name="ksession1" type="stateless"/>
</kbase>
</kmodule>
Here is what has been created under camel blueprint file
<?xml version="1.0" encoding="UTF-8"?>
<blueprint
xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:kie="http://drools.org/schema/kie-aries-blueprint/1.0.0"
xsi:schemaLocation="
http://www.osgi.org/xmlns/blueprint/v1.0.0
http://www.osgi.org/xmlns/blueprint/v1.0.0
http://drools.org/schema/kie-aries-blueprint/1.0.0
http://drools.org/schema/kie-aries-blueprint/1.0.0">
<!-- Beans used by camel in the example -->
<bean id="droolsHelper"
class="org.drools.camel.example.DroolsCommandHelper"/>
<bean id="personHelper"
class="org.drools.camel.example.PersonHelper"/>
<bean id="aList" class="java.util.ArrayList"/>
<kie:ksession-ref id="ksession1">
<kie:batch>
<kie:set-global identifier="list" ref="aList"/>
</kie:batch>
</kie:ksession-ref>
Any idea is welcome ?
Regards,
--
Charles Moulliard
Apache Committer / Architect @RedHat
Twitter : @cmoulliard | Blog :
http://cmoulliard.blogspot.com