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(a)scut.edu.cn
jianfei.he(a)gmail.com
Tel: (86)13570352756
-----------------------------------------------------------