Hi, Please note that, if I make 200 ajax call to validate 200 fields. It works fine without any problem. But if validate 2000 fields, the exception comes up. Please advise what is the root cause in the BRMS(Drools Guvnor).
Thanks Benson On Tue, Apr 12, 2011 at 2:00 AM, Benson Fung <[email protected]> wrote: > 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 > _______________________________________________ rules-users mailing list [email protected] https://lists.jboss.org/mailman/listinfo/rules-users
