[rules-users] Exception occurs when deploy drools rule in jboss

He Jianfei jfhe at scut.edu.cn
Sun May 13 00:31:11 EDT 2007


Hi:
My drools rules application is deployed in JBoss, and my classpath
includes these jars:
activation.jar help.jar 
jcs-1.2.5-dev.jar mail.jar
AdventNetLogging.jar 
hsqldb.jar jcs.jar 
mail-plugin.jar
AdventNetSnmp.jar 
hsqldb-plugin.jar 
JDHCP.jar montnets.jar
antlr-2.7.5.jar 
janino-2.3.15.jar 
jdom.jar 
msbase.jar
antlr-3.0b6.jar 
jaxp-api.jar 
jfc_094.jar 
mssqlserver.jar
asm-1.5.3.jar 
jbcl.jar 
jfc_common.jar 
msutil.jar
autonumber-plugin.jar 
jbossall-client.jar 
jgroups.jar
mysql-connector-java-3.1.12-bin.jar
bcel.jar 
jboss-common-jdbc-wrapper.jar 
jh.jar 
NetComponents.jar
bindingservice-plugin.jar 
jbossha.jar 
jmx-adaptor-plugin.jar
org.eclipse.jdt.core_3.2.0.v_642.jar
bsh-core-1.3.0.jar 
jboss-j2ee.jar jmxri.jar
properties-plugin.jar
bsh-deployer.jar 
jboss-jaas.jar 
jnet.jar sax.jar
commons-collections-3.1.jar 
jboss.jar jnp.jar 
scheduler-plugin-example.jar
commons-lang-1.0.1.jar 
jboss-jdbc_ext.jar 
jnpserver.jar 
scheduler-plugin.jar
concurrent.jar 
jboss-jsr77.jar 
jpl-pattern.jar 
smproxy.jar
dnsjava-1.3.0.jar 
jboss-management.jar 
jpl-util.jar 
snmp-support.jar
dom.jar 
jboss-monitoring.jar 
jsr94-1.1.jar 
stringtemplate-3.0.jar
drools-compiler-3.1.0-M1.jar 
jbossmq.jar 
jsr94-tck-1.1.jar 
xalan.jar
drools-core-3.1.0-M1.jar 
jbosssx.jar jsse.jar 
xercesImpl.jar
drools-decisiontables-3.1.0-M1.jar 
jboss-transaction.jar
jython-20020827-no-oro.jar 
xsltc.jar
dx.jar 
jcert.jar 
libmondem.so
groovy-all-1.0-jsr-04.jar 
jconn2.jar log4j.jar

and my project is building in eclipse 3.2M5, and JBoss version 3.2.5

when JBoss runs, the following Exception occurs:
java.lang.NoSuchMethodError:
org.eclipse.jdt.internal.compiler.CompilationResult.getProblems()[Lorg/eclipse/jdt/core/compiler/CategorizedProblem;
22:17:19,159 INFO [STDOUT] at
org.apache.commons.jci.compilers.EclipseJavaCompiler$2.acceptResult(EclipseJavaCompiler.java:247)
22:17:19,159 INFO [STDOUT] at
org.eclipse.jdt.internal.compiler.Compiler.compile(Compiler.java:454)
22:17:19,160 INFO [STDOUT] at
org.apache.commons.jci.compilers.EclipseJavaCompiler.compile(EclipseJavaCompiler.java:278)
22:17:19,160 INFO [STDOUT] at
org.drools.compiler.PackageBuilder.compileAll(PackageBuilder.java:501)
22:17:19,160 INFO [STDOUT] at
org.drools.compiler.PackageBuilder.addPackage(PackageBuilder.java:224)
22:17:19,161 INFO [STDOUT] at
org.drools.compiler.PackageBuilder.addPackageFromDrl(PackageBuilder.java:148)
22:17:19,161 INFO [STDOUT] at
com.dcampus.snms.event.mbean.RuleManage.readRules(Unknown Source)
22:17:19,162 INFO [STDOUT] at
com.dcampus.snms.event.mbean.RuleManage.initRuleBaseEngine(Unknown Source)
22:17:19,162 INFO [STDOUT] at
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
22:17:19,162 INFO [STDOUT] at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
22:17:19,163 INFO [STDOUT] at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
22:17:19,163 INFO [STDOUT] at
java.lang.reflect.Method.invoke(Method.java:585)
22:17:19,164 INFO [STDOUT] at
org.jboss.mx.server.ReflectedDispatcher.dispatch(ReflectedDispatcher.java:60)
22:17:19,164 INFO [STDOUT] at
org.jboss.mx.server.Invocation.dispatch(Invocation.java:61)
22:17:19,164 INFO [STDOUT] at
org.jboss.mx.server.Invocation.dispatch(Invocation.java:53)
22:17:19,165 INFO [STDOUT] at
org.jboss.mx.server.Invocation.invoke(Invocation.java:86)
22:17:19,165 INFO [STDOUT] at
org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:185)
22:17:19,166 INFO [STDOUT] at
org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:473)
22:17:19,166 INFO [STDOUT] at
org.jboss.jmx.adaptor.control.Server.invokeOpByName(Server.java:234)
22:17:19,166 INFO [STDOUT] at
org.jboss.jmx.adaptor.control.Server.invokeOp(Server.java:200)
22:17:19,167 INFO [STDOUT] at
org.jboss.jmx.adaptor.html.HtmlAdaptorServlet.invokeOp(HtmlAdaptorServlet.java:241)
22:17:19,167 INFO [STDOUT] at
org.jboss.jmx.adaptor.html.HtmlAdaptorServlet.processRequest(HtmlAdaptorServlet.java:79)
22:17:19,168 INFO [STDOUT] at
org.jboss.jmx.adaptor.html.HtmlAdaptorServlet.doPost(HtmlAdaptorServlet.java:61)
22:17:19,168 INFO [STDOUT] at
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
22:17:19,169 INFO [STDOUT] at
javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
22:17:19,169 INFO [STDOUT] at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:237)
22:17:19,170 INFO [STDOUT] at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157)
22:17:19,170 INFO [STDOUT] at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:214)
22:17:19,170 INFO [STDOUT] at
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
22:17:19,171 INFO [STDOUT] at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
22:17:19,171 INFO [STDOUT] at
org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:198)
22:17:19,172 INFO [STDOUT] at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:152)
22:17:19,172 INFO [STDOUT] at
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
22:17:19,172 INFO [STDOUT] at
org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:72)
22:17:19,173 INFO [STDOUT] at
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:102)
22:17:19,173 INFO [STDOUT] at
org.jboss.web.tomcat.security.JBossSecurityMgrRealm.invoke(JBossSecurityMgrRealm.java:275)
22:17:19,174 INFO [STDOUT] at
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:102)
22:17:19,174 INFO [STDOUT] at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
22:17:19,174 INFO [STDOUT] at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:137)
22:17:19,175 INFO [STDOUT] at
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
22:17:19,175 INFO [STDOUT] at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
22:17:19,176 INFO [STDOUT] at
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:102)
22:17:19,176 INFO [STDOUT] at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
22:17:19,176 INFO [STDOUT] at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
22:17:19,177 INFO [STDOUT] at
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
22:17:19,177 INFO [STDOUT] at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
22:17:19,178 INFO [STDOUT] at
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:929)
22:17:19,178 INFO [STDOUT] at
org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:160)
22:17:19,179 INFO [STDOUT] at
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:799)
22:17:19,179 INFO [STDOUT] at
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:705)
22:17:19,180 INFO [STDOUT] at
org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:577)
22:17:19,180 INFO [STDOUT] at
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:683)
22:17:19,181 INFO [STDOUT] at java.lang.Thread.run(Thread.java:595)


and I get some solution from the website,
http://wiki.jboss.org/wiki/Wiki.jsp?page=RulesTomcat, so i add the
following code in my application,
but after done, the same Exception occurs.

PackageBuilderConfiguration pkgBuilderCfg = new
PackageBuilderConfiguration();
pkgBuilderCfg.setCompiler(PackageBuilderConfiguration.JANINO);

isn't it some wrong with my following rule file?

package com.dcampus.snms.event.mbean

import com.dcampus.snms.event.model.EventLogInfo

rule "Event filter"
	no-loop true
	when
		$e1:EventLogInfo(eventId1:eventId,time1:time,sourceIp1:sourceIp)
		$e2:EventLogInfo(eventId2:eventId,time2:time,sourceIp2:sourceIp,
		(eventId2 == eventId1),
		(time2.getTime()-time1.getTime()<60000),
		(time2.getTime()-time1.getTime()>0),
		(sourceIp2.equals(sourceIp1))
		)
	then 
		$e2.setCorrelationId($e1.getCorrelationId());
		$e2.setCause($e1.getCause());
		System.out.println("Succeed!");
		
end

rule "virus"
	 when
		$e1:EventLogInfo(eventId1:eventId,time1:time,sourceIp1:sourceIp,
		(eventId1==2012)
		)
		$e2:EventLogInfo(eventId2:eventId,time2:time,sourceIp2:sourceIp,
		(eventId2==2022),
		(sourceIp2.equals(sourceIp1)),
		(time2.getTime()-time1.getTime()<60000)
		)
	then 
		$e2.setCause("virus");
		$e1.setCause("virus");
end


rule "high threshold"
	when
		$e1:EventLogInfo(eventId1:eventId,time1:time,sourceIp1:sourceIp,
		(eventId1==2012)
		)
		$e2:EventLogInfo(eventId2:eventId,time2:time,sourceIp2:sourceIp,
		(eventId2==2022),
		(sourceIp2.equals(sourceIp1)),
		(time2.getTime()-time1.getTime() >= 60000)
		)
	then 
		$e2.setCause("high threshold");
		$e1.setCause("high threshold");
end

at the same time, i run the HelloWorldExample application in JBoss, it works well and no Exception occurs. 
so i was very confused...please help me, urgently.

Best regards

-- 

------------------------------------------------------------
He Jianfei(何剑飞)
South China University of Technology
Communication & Computer Network key Laboratory of Guangdong
Guangzhou, P.R.China,510640
Email: jfhe at scut.edu.cn
       jianfei.he at gmail.com
Tel:   (86)13570352756
-----------------------------------------------------------




More information about the rules-users mailing list