You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@servicemix.apache.org by kumar k <ku...@yahoo.com> on 2007/08/30 14:31:59 UTC
file not found exception for Drools component
I am getting file not found exception for drools component. It is not able to find drl file. How classpath needs to be defined and where should I place drl file. My drl file is located at
src\org\apache\servicemix\drools and My xbean is like
<beans xmlns:http="http://servicemix.apache.org/http/1.0"
xmlns:drools="http://servicemix.apache.org/drools/1.0"
xmlns:testMe="http://servicemix.apache.org/testme">
<drools:endpoint service="testMe:DroolFinalService"
endpoint="DroolsEndPoint"
ruleBaseResource="classpath:org.apache.servicemix.drools.routing.drl" />
</beans>
Thanks
---------------------------------
Need a vacation? Get great deals to amazing places on Yahoo! Travel.
Re: file not found exception for Drools component
Posted by kumar k <ku...@yahoo.com>.
It is able to find file if I do not use package name and keep routing.drl in resource folder with any package. But it is throwing org.drools.CheckedDroolsException: There were errors in the rule
source: Rule Compilation error
Rule Compilation error The type java.lang.Object cannot be resolved. It
is indirectly referenced from required .class files
My Xbean and Drools File
---------------
<beans xmlns:http="http://servicemix.apache.org/http/1.0"
xmlns:drools="http://servicemix.apache.org/drools/1.0"
xmlns:testMe="http://servicemix.apache.org/testme">
<drools:endpoint service="testMe:DroolFinalService"
endpoint="DroolsEndPoint"
ruleBaseResource="classpath:routing.drl"
/>
</beans>
My Drools File is:
--------------------------------
package org.apache.servicemix.drools
import org.apache.servicemix.drools.model.Exchange;
global org.apache.servicemix.drools.model.JbiHelper jbi;
rule "Route to myservice"
when
me : Exchange( status == Exchange.ACTIVE, in : in != null )
eval( in.xpath("/Record/eid = 100") )
then
jbi.route( "test2:myservice" );
end
rule "Route to bean2service"
when
me : Exchange( status == Exchange.ACTIVE, in : in != null )
eval( in.xpath("/Record/eid = 101") )
then
jbi.route( "test5:bean2service" );
end
-----------------------------------------------------------------------------------------------------------------------
<loc-message>org.drools.CheckedDroolsException: There were errors in
the rule source: Rule Compilation error
Rule Compilation error The type java.lang.Object cannot be resolved. It
is indirectly referenced from required .class files
</loc-message>
<stack-trace><![CDATA[javax.jbi.JBIException:
org.drools.CheckedDroolsException: There were errors in the rule
source: Rule Compilation
error
Rule Compilation error The type java.lang.Object cannot be resolved. It
is indirectly referenced from required .class files
at
org.apache.servicemix.drools.DroolsEndpoint.start(DroolsEndpoint.java:128)
at
org.apache.servicemix.common.endpoints.SimpleEndpoint.activate(SimpleEndpoint.java:55)
at org.apache.servicemix.common.ServiceUnit.start(ServiceUnit.java:55)
at
org.apache.servicemix.common.BaseServiceUnitManager.start(BaseServiceUnitManager.java:151)
at
org.apache.servicemix.jbi.framework.ServiceUnitLifeCycle.start(ServiceUnitLifeCycle.java:103)
at
org.apache.servicemix.jbi.framework.ServiceAssemblyLifeCycle.start(ServiceAssemblyLifeCycle.java:130)
at
org.apache.servicemix.jbi.framework.DeploymentService.start(DeploymentService.java:374)
at
org.apache.servicemix.jbi.framework.AutoDeploymentService.updateArchive(AutoDeploymentService.java:337)
at
org.apache.servicemix.jbi.framework.AutoDeploymentService.updateExternalArchive(AutoDeploymentService.java:201)
at
org.apache.servicemix.jbi.container.JBIContainer.updateExternalArchive(JBIContainer.java:473)
at
org.apache.servicemix.jbi.container.JBIContainer.updateExternalArchive(JBIContainer.java:483)
at
org.apache.servicemix.jbi.framework.AdminCommandsService.deployServiceAssembly(AdminCommandsService.java:229)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at
org.apache.commons.beanutils.MethodUtils.invokeMethod(MethodUtils.java:216)
at
org.apache.servicemix.jbi.management.BaseStandardMBean.invoke(BaseStandardMBean.java:318)
at
com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:836)
at
com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:761)
at
javax.management.remote.rmi.RMIConnectionImpl.doOperation(RMIConnectionImpl.java:1426)
at
javax.management.remote.rmi.RMIConnectionImpl.access$200(RMIConnectionImpl.java:72)
at
javax.management.remote.rmi.RMIConnectionImpl$PrivilegedOperation.run(RMIConnectionImpl.java:1264)
at java.security.AccessController.doPrivileged(Native Method)
at
javax.management.remote.rmi.RMIConnectionImpl.doPrivilegedOperation(RMIConnectionImpl.java:1366)
at
javax.management.remote.rmi.RMIConnectionImpl.invoke(RMIConnectionImpl.java:788)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:305)
at sun.rmi.transport.Transport$1.run(Transport.java:159)
at java.security.AccessController.doPrivileged(Native Method)
at sun.rmi.transport.Transport.serviceCall(Transport.java:155)
at
sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:535)
at
sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:790)
at
sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:649)
at
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:885)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907)
at java.lang.Thread.run(Thread.java:619)
Caused by: org.drools.CheckedDroolsException: There were errors in the
rule source: Rule Compilation error
Rule Compilation error The type java.lang.Object cannot be resolved. It
is indirectly referenced from required .class files
at org.drools.compiler.RuleBaseLoader.makeRuleBase(Unknown Source)
at org.drools.compiler.RuleBaseLoader.loadFromReader(Unknown Source)
at
org.apache.servicemix.drools.DroolsEndpoint.start(DroolsEndpoint.java:126)
... 39 more
]]></stack-trace>
</msg-loc-info>
</exception-info>
</task-result-details>
</component-task-result-details>
</component-task-result>
</jbi-task-result>
</jbi-task>
Gordon Dickens <gd...@anexinet.com> wrote:
kumar k wrote:
> I am getting file not found exception for drools component. It is not able to find drl file. How classpath needs to be defined and where should I place drl file. My drl file is located at
> src\org\apache\servicemix\drools and My xbean is like
>
> > xmlns:drools="http://servicemix.apache.org/drools/1.0"
> xmlns:testMe="http://servicemix.apache.org/testme">
> > endpoint="DroolsEndPoint"
> ruleBaseResource="classpath:org.apache.servicemix.drools.routing.drl" />
>
>
> Thanks
>
>
>
> ---------------------------------
> Need a vacation? Get great deals to amazing places on Yahoo! Travel.
>
>
>
I have not used Drools yet, but have you tried putting
..
after your
Regards,
Gordon
---------------------------------
Got a little couch potato?
Check out fun summer activities for kids.
Re: file not found exception for Drools component
Posted by Gordon Dickens <gd...@anexinet.com>.
kumar k wrote:
> I am getting file not found exception for drools component. It is not able to find drl file. How classpath needs to be defined and where should I place drl file. My drl file is located at
> src\org\apache\servicemix\drools and My xbean is like
>
> <beans xmlns:http="http://servicemix.apache.org/http/1.0"
> xmlns:drools="http://servicemix.apache.org/drools/1.0"
> xmlns:testMe="http://servicemix.apache.org/testme">
> <drools:endpoint service="testMe:DroolFinalService"
> endpoint="DroolsEndPoint"
> ruleBaseResource="classpath:org.apache.servicemix.drools.routing.drl" />
> </beans>
>
> Thanks
>
>
>
> ---------------------------------
> Need a vacation? Get great deals to amazing places on Yahoo! Travel.
>
>
>
I have not used Drools yet, but have you tried putting
<classpath>
<location>.</location>
</classpath>
after your <beans... opening tag?
Regards,
Gordon