[jboss-jira] [JBoss JIRA] (DROOLS-396) Caused by: java.lang.NoClassDefFoundError: org/drools/event/DebugProcessEventListener
Kenny Wottrich (JIRA)
issues at jboss.org
Mon Aug 1 15:30:00 EDT 2016
[ https://issues.jboss.org/browse/DROOLS-396?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13273659#comment-13273659 ]
Kenny Wottrich commented on DROOLS-396:
---------------------------------------
I had the same issue, and determined that it was caused by attempting to use Spring to inject a rules engine into a class that had other dependencies autowired in -- as in, the rules engine was not autowired in, but all of the other dependencies were. In our Spring XML config, I had:
<bean id="myBean" class="com.example.myBeanImpl" scope="request">
<aop:scoped-proxy />
<property name="rulesEngine" ref="rulesEngineDef" />
</bean>
I think the {{<aop:scoped-proxy />}} was causing it to try to set dependencies with different scopes.
*The fix for me was to put all dependencies into the XML config, and not mix and match autowire and XML*:
<bean id="myBean" class="com.example.myBeanImpl" scope="request">
<aop:scoped-proxy />
<property name="otherDependency" ref="otherDependencyDef" />
...
<property name="rulesEngine" ref="rulesEngineDef" />
</bean>
> Caused by: java.lang.NoClassDefFoundError: org/drools/event/DebugProcessEventListener
> -------------------------------------------------------------------------------------
>
> Key: DROOLS-396
> URL: https://issues.jboss.org/browse/DROOLS-396
> Project: Drools
> Issue Type: Bug
> Affects Versions: 6.0.0.Final
> Reporter: leonardo lizana
> Assignee: Petr Široký
> Priority: Critical
> Attachments: noclassdeffound.zip
>
>
> I'm trying to testing latest version of drools 6.0.1.Final version and i have the issue of " java.lang.NoClassDefFoundError: org/drools/event/DebugProcessEventListener" . However, i can see class is now on the the following path "org.drools.core.event.DebugProcessEventListener" and why the context is seeking in org/drools/event/DebugProcessEventListener. instead of "org.drools.core.event.DebugProcessEventListener"
> is there anything that i'm doing bad?
> * with drools 5.5 everything is working OK.
> Here is my pom.xml
> --------------------------
> <dependency>
> <groupId>org.drools</groupId>
> <artifactId>knowledge-api</artifactId>
> <version>${drools.version}</version>
> </dependency>
> <dependency>
> <groupId>org.drools</groupId>
> <artifactId>drools-core</artifactId>
> <version>${drools.version}</version>
> </dependency>
> <dependency>
> <groupId>org.drools</groupId>
> <artifactId>drools-compiler</artifactId>
> <version>${drools.version}</version>
> </dependency>
> <dependency>
> <groupId>org.drools</groupId>
> <artifactId>drools-spring</artifactId>
> <version>5.5.0.Final</version>
> </dependency>
> here is the log error:
> ----------------------------
> Caused by: java.lang.NoClassDefFoundError: org/drools/event/DebugProcessEventListener
> at org.drools.container.spring.namespace.KnowledgeSessionDefinitionParser.parseInternal(KnowledgeSessionDefinitionParser.java:115)
> at org.springframework.beans.factory.xml.AbstractBeanDefinitionParser.parse(AbstractBeanDefinitionParser.java:59)
> at org.springframework.beans.factory.xml.NamespaceHandlerSupport.parse(NamespaceHandlerSupport.java:73)
> at org.springframework.beans.factory.xml.BeanDefinitionParserDelegate.parseCustomElement(BeanDefinitionParserDelegate.java:1338)
> at org.springframework.beans.factory.xml.BeanDefinitionParserDelegate.parseCustomElement(BeanDefinitionParserDelegate.java:1328)
> at org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentReader.parseBeanDefinitions(DefaultBeanDefinitionDocumentReader.java:135)
> at org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentReader.registerBeanDefinitions(DefaultBeanDefinitionDocumentReader.java:93)
> at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.registerBeanDefinitions(XmlBeanDefinitionReader.java:493)
> at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.doLoadBeanDefinitions(XmlBeanDefinitionReader.java:390)
> Here is the contex-drools.xml
> -------------------------------------
> <beans xmlns="http://www.springframework.org/schema/beans"
> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
> xmlns:context="http://www.springframework.org/schema/context"
> xmlns:drools="http://drools.org/schema/drools-spring"
> xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
> http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd
> http://drools.org/schema/drools-spring http://anonsvn.jboss.org/repos/labs/labs/jbossrules/trunk/drools-container/drools-spring/src/main/resources/org/drools/container/spring/drools-spring-1.2.0.xsd"
> default-autowire="byName">
>
> <drools:resource id="rulesEnergyUsage" type="DRL" source="classpath:com/aepenergy/b2b/miscpull/rules/rulesEnergyUsage.drl"/>
> <drools:kbase id="kBaseEnergyUsage">
> <drools:resources>
> <drools:resource ref="rulesEnergyUsage"/>
> </drools:resources>
> </drools:kbase>
> <drools:ksession id="kSessionEnergyUsage" kbase="kBaseEnergyUsage" type="stateful"/>
> </beans>
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)
More information about the jboss-jira
mailing list