[rules-users] Strange java.lang.NoClassDefFoundError

Benson Fung benson.redhat at gmail.com
Mon Apr 11 14:00:59 EDT 2011


Hi,

I have a GWT RPC method as follows :

	public String validate(ApplicationData ad) {
		Object dataObj = null;
		
		KnowledgeAgent kagent =
(KnowledgeAgent)getServletContext().getAttribute("KNOWLEDGE_AGENT");
		KnowledgeBase kbase = kagent.getKnowledgeBase();
		StatefulKnowledgeSession sf = kbase.newStatefulKnowledgeSession();
		FactType ft = kbase.getFactType("axaPMTPOCPackage", "ApplicationData");
		try {
			dataObj = ft.newInstance();
			ft.set(dataObj, "name", ad.getName());
			ft.set(dataObj, "sex", ad.getSex());
			ft.set(dataObj, "minIssrdAge", ad.getMinIssrdAge());
			ft.set(dataObj, "age", ad.getAge());
			ft.set(dataObj, "boxname", ad.getBoxname());
			sf.insert(dataObj);
			RuleNameStartsWithAgendaFilter filter = new
RuleNameStartsWithAgendaFilter(ad.getRuleName());
			sf.fireAllRules(filter);
			sf.dispose();
		} catch(Exception e) {
			e.printStackTrace();
		}
		
		String returnMsg = (String)ft.get(dataObj, "returnMsg");
		return returnMsg;
	}

At the client side, I made 2000 times of the above ajax call to
validate 2000 fields.
However, I got the following java exception after making certain
number of calls.

2011-04-11 15:45:17,438 ERROR
[org.apache.catalina.core.ContainerBase.[jboss.web].[localhost].[/axa_pmt_poc]]
(http-127.0.0.1-8080-8) Exception while dispatching incoming RPC call
com.google.gwt.user.server.rpc.UnexpectedException: Service method
'public abstract java.lang.String
com.axa.pmt.poc.client.ExecuteRuleService.validate(com.axa.pmt.poc.data.ApplicationData)'
threw an unexpected exception: java.lang.NoClassDefFoundError:
axaPMTPOCPackage/ApplicationData
	at com.google.gwt.user.server.rpc.RPC.encodeResponseForFailure(RPC.java:378)
	at com.google.gwt.user.server.rpc.RPC.invokeAndEncodeResponse(RPC.java:581)
	at com.google.gwt.user.server.rpc.RemoteServiceServlet.processCall(RemoteServiceServlet.java:207)
	at com.google.gwt.user.server.rpc.RemoteServiceServlet.processPost(RemoteServiceServlet.java:243)
	at com.google.gwt.user.server.rpc.AbstractRemoteServiceServlet.doPost(AbstractRemoteServiceServlet.java:62)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
	at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:235)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
	at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:190)
	at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:92)
	at org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.process(SecurityContextEstablishmentValve.java:126)
	at org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.invoke(SecurityContextEstablishmentValve.java:70)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
	at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:158)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:330)
	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:829)
	at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:598)
	at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
	at java.lang.Thread.run(Thread.java:662)
Caused by: java.lang.NoClassDefFoundError: axaPMTPOCPackage/ApplicationData
	at ASMAccessorImpl_19303314141302536715970.getValue(Unknown Source)
	at org.mvel2.optimizers.dynamic.DynamicGetAccessor.getValue(DynamicGetAccessor.java:66)
	at org.mvel2.ast.ASTNode.getReducedValueAccelerated(ASTNode.java:96)
	at org.mvel2.MVELRuntime.execute(MVELRuntime.java:85)
	at org.mvel2.compiler.CompiledExpression.getValue(CompiledExpression.java:104)
	at org.mvel2.MVEL.executeExpression(MVEL.java:1001)
	at org.drools.base.mvel.MVELConsequence.evaluate(MVELConsequence.java:103)
	at org.drools.common.DefaultAgenda.fireActivation(DefaultAgenda.java:917)
	at org.drools.common.DefaultAgenda.fireNextItem(DefaultAgenda.java:856)
	at org.drools.common.DefaultAgenda.fireAllRules(DefaultAgenda.java:1071)
	at org.drools.common.AbstractWorkingMemory.fireAllRules(AbstractWorkingMemory.java:785)
	at org.drools.common.AbstractWorkingMemory.fireAllRules(AbstractWorkingMemory.java:761)
	at org.drools.impl.StatefulKnowledgeSessionImpl.fireAllRules(StatefulKnowledgeSessionImpl.java:226)
	at com.axa.pmt.poc.server.ExecuteRuleServiceImpl.validate(ExecuteRuleServiceImpl.java:51)
	at sun.reflect.GeneratedMethodAccessor275.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke(Method.java:597)
	at com.google.gwt.user.server.rpc.RPC.invokeAndEncodeResponse(RPC.java:562)
	... 25 more


Please help give me ideas what is going on.


Thanks
Benson



More information about the rules-users mailing list