Hello all,
I am using Drools 4.0.3.
In my application I have one singleton class to validate the input parameters.
Also I am using one commonfunction.xml file which has all the functions for the
applications e.g.
<function return-type="boolean" name="validateDate">
<parameter identifier="date" type="String" />
<parameter identifier="datepattern" type="String" />
<body>
// System.out.println(" validateDate date "+date);
// System.out.println(" validateDate datepattern "+datepattern);
if(date == null || date.trim().equals(""))
return(true);
SimpleDateFormat sdf = new SimpleDateFormat(datepattern);
Date testDate = null;
try{
testDate = sdf.parse(date);
}catch (ParseException e){
return(true);
}
if (!sdf.format(testDate).equals(date)){
return(true);
}
return(false);
</body>
</function>
I am loading this commonfunction.xml file only once in the constructor
throughout the application. Also I have some specific rules for each module in
my application.
One of the module is AirlineDemo.For this module I have various rules as source
and destination can not same, departure date should be proper etc.
Now when I am running my application I am getting the ClassNotFoundException .
Please give me advice how can I remove this exception?
I am attaching the rule file and the description of the exception.
With Regards
Prateek
The information contained in this electronic message and any attachments to
this message are intended for the exclusive use of the addressee(s) and may
contain proprietary, confidential or privileged information. If you are not the
intended recipient, you should not disseminate, distribute or copy this e-mail.
Please notify the sender immediately and destroy all copies of this message and
any attachments.
WARNING: Computer viruses can be transmitted via email. The recipient should
check this email and any attachments for the presence of viruses. The company
accepts no liability for any damage caused by any virus transmitted by this
email.
www.wipro.com
<?xml version="1.0" encoding="UTF-8"?>
<package xmlns="http://drools.org/drools-4.0" xmlns:xs="http://www.w3.org/2001/XMLSchema-instance" name="jbossrules" xs:schemaLocation="http://drools.org/drools-4.0 drools-4.0.xsd"><import name="com.wipro.evalidator.response.bean.ResponseBean" /><global identifier="response" type="com.wipro.evalidator.response.bean.ResponseBean" /><import name="java.lang.*" /><import name="com.wipro.airline.SearchBean" /><rule name="valsearchForFlights_1_1195562585750"><rule-attribute name="agenda-group" value="AirlineApp_searchForFlights" /><rule-attribute name="activation-group" value="activation_1195562585750" /><rule-attribute name="salience" value="5" /><lhs><pattern identifier="searchbean" object-type="com.wipro.airline.SearchBean" /><eval>searchbean.getStarting_city().equals("bangalore") && searchbean.getDestination_city().equals("mumbai")</eval></lhs><rhs>response.setStatus("success_discount");
response.setSubStatus("12");</rhs></rule><rule name="valsearchForFlights_2_1195562585750"><rule-attribute name="agenda-group" value="AirlineApp_searchForFlights" /><rule-attribute name="activation-group" value="activation_1195562585750" /><rule-attribute name="salience" value="4" /><lhs><pattern identifier="searchbean" object-type="com.wipro.airline.SearchBean" /><eval>validateDate(searchbean.getDeparture_date(),"MM/dd/yyyy")</eval></lhs><rhs>response.setStatus("failure");
response.setSubStatus("date_notvalid");</rhs></rule><rule name="valsearchForFlights_0_1195562585750"><rule-attribute name="agenda-group" value="AirlineApp_searchForFlights" /><rule-attribute name="activation-group" value="activation_1195562585750" /><rule-attribute name="salience" value="6" /><lhs><pattern identifier="searchbean" object-type="com.wipro.airline.SearchBean" /><eval>searchbean.getStarting_city().equals(searchbean.getDestination_city())</eval></lhs><rhs>response.setStatus("failure");
response.setSubStatus("cannot_same");</rhs></rule><import name="com.wipro.airline.TicketFareBean" /><rule name="valcalculateTicketFare_0_1195562959343"><rule-attribute name="agenda-group" value="AirlineApp_calculateTicketFare" /><rule-attribute name="activation-group" value="activation_1195562959343" /><rule-attribute name="salience" value="2" /><lhs><pattern identifier="ticketfarebean" object-type="com.wipro.airline.TicketFareBean" /><eval>ticketfarebean.getDiscount().equals("12")</eval></lhs><rhs>response.setStatus("failure");
response.setSubStatus("discount_lessthan15");</rhs></rule></package>
Exit SynhronizeService:: processClientMessage()::
clientMessageDocument[#document: null]
<< AOP WebTierInterceptor.invoke() interceptMethodName >> searchForFlights
MethodNameInXML >> searchForFlights validationI
d >> AirlineApp_searchForFlights
org.drools.RuntimeDroolsException: java.lang.ClassNotFoundException:
jbossrules.Rule_valcalculateTicketFare_0_119556295934
3_0ConsequenceInvoker
at
org.drools.rule.PackageCompilationData.reload(PackageCompilationData.java:224)
at
org.drools.compiler.PackageBuilder.addPackage(PackageBuilder.java:312)
at
org.drools.compiler.PackageBuilder.addPackageFromXml(PackageBuilder.java:188)
at
com.wipro.evalidator.validation.impl.DroolsValidator.validateXML(DroolsValidator.java:403)
at
com.wipro.evalidator.validation.impl.DroolsValidator.validate(DroolsValidator.java:173)
at
com.wipro.evalidator.jbossaop.drools.intercepts.WebTierInterceptor.invoke(WebTierInterceptor.java:87)
at
com.wipro.evalidator.efaces.service.AirlineResponseService$searchForFlights_N4824196246163586364.invokeNext(Air
lineResponseService$searchForFlights_N4824196246163586364.java)
at
com.wipro.evalidator.efaces.service.AirlineResponseService.searchForFlights(AirlineResponseService.java)
at
com.wipro.evalidator.efaces.service.AirlineRequestService.service(AirlineRequestService.java:77)
at
com.wipro.efaces.server.webrender.WebRenderServlet.process(WebRenderServlet.java:90)
at
com.wipro.efaces.server.webrender.WebRenderServlet.doPost(WebRenderServlet.java:57)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
at
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
at
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869)
at
org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:6
64)
at
org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
at
org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
at
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
at java.lang.Thread.run(Thread.java:595)
Caused by: java.lang.ClassNotFoundException:
jbossrules.Rule_valcalculateTicketFare_0_1195562959343_0ConsequenceInvoker
at
org.drools.rule.PackageCompilationData$PackageClassLoader.findClass(PackageCompilationData.java:374)
at
org.drools.rule.PackageCompilationData.wire(PackageCompilationData.java:255)
at
org.drools.rule.PackageCompilationData.reload(PackageCompilationData.java:220)
... 26 more
org.drools.RuntimeDroolsException: java.lang.ClassNotFoundException:
jbossrules.Rule_valcalculateTicketFare_0_119556295934
3_0ConsequenceInvoker
at
org.drools.rule.PackageCompilationData.reload(PackageCompilationData.java:224)
at
org.drools.compiler.PackageBuilder.addPackage(PackageBuilder.java:312)
at
org.drools.compiler.PackageBuilder.addPackageFromXml(PackageBuilder.java:188)
at
com.wipro.evalidator.validation.impl.DroolsValidator.validateXML(DroolsValidator.java:403)
at
com.wipro.evalidator.validation.impl.DroolsValidator.validate(DroolsValidator.java:173)
at
com.wipro.evalidator.jbossaop.drools.intercepts.WebTierInterceptor.invoke(WebTierInterceptor.java:87)
at
com.wipro.evalidator.efaces.service.AirlineResponseService$searchForFlights_N4824196246163586364.invokeNext(Air
lineResponseService$searchForFlights_N4824196246163586364.java)
at
com.wipro.evalidator.efaces.service.AirlineResponseService.searchForFlights(AirlineResponseService.java)
at
com.wipro.evalidator.efaces.service.AirlineRequestService.service(AirlineRequestService.java:77)
at
com.wipro.efaces.server.webrender.WebRenderServlet.process(WebRenderServlet.java:90)
at
com.wipro.efaces.server.webrender.WebRenderServlet.doPost(WebRenderServlet.java:57)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
at
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
at
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869)
at
org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:6
64)
at
org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
at
org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
at
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
at java.lang.Thread.run(Thread.java:595)
Caused by: java.lang.ClassNotFoundException:
jbossrules.Rule_valcalculateTicketFare_0_1195562959343_0ConsequenceInvoker
at
org.drools.rule.PackageCompilationData$PackageClassLoader.findClass(PackageCompilationData.java:374)
at
org.drools.rule.PackageCompilationData.wire(PackageCompilationData.java:255)
at
org.drools.rule.PackageCompilationData.reload(PackageCompilationData.java:220)
... 26 more
org.drools.RuntimeDroolsException: java.lang.ClassNotFoundException:
jbossrules.Rule_valcalculateTicketFare_0_119556295934
3_0ConsequenceInvoker
at
org.drools.rule.PackageCompilationData.reload(PackageCompilationData.java:224)
at
org.drools.compiler.PackageBuilder.addPackage(PackageBuilder.java:312)
at
org.drools.compiler.PackageBuilder.addPackageFromXml(PackageBuilder.java:188)
at
com.wipro.evalidator.validation.impl.DroolsValidator.validateXML(DroolsValidator.java:403)
at
com.wipro.evalidator.validation.impl.DroolsValidator.validate(DroolsValidator.java:173)
at
com.wipro.evalidator.jbossaop.drools.intercepts.WebTierInterceptor.invoke(WebTierInterceptor.java:87)
at
com.wipro.evalidator.efaces.service.AirlineResponseService$searchForFlights_N4824196246163586364.invokeNext(Air
lineResponseService$searchForFlights_N4824196246163586364.java)
at
com.wipro.evalidator.efaces.service.AirlineResponseService.searchForFlights(AirlineResponseService.java)
at
com.wipro.evalidator.efaces.service.AirlineRequestService.service(AirlineRequestService.java:77)
at
com.wipro.efaces.server.webrender.WebRenderServlet.process(WebRenderServlet.java:90)
at
com.wipro.efaces.server.webrender.WebRenderServlet.doPost(WebRenderServlet.java:57)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
at
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
at
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869)
at
org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:6
64)
at
org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
at
org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
at
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
at java.lang.Thread.run(Thread.java:595)
Caused by: java.lang.ClassNotFoundException:
jbossrules.Rule_valcalculateTicketFare_0_1195562959343_0ConsequenceInvoker
at
org.drools.rule.PackageCompilationData$PackageClassLoader.findClass(PackageCompilationData.java:374)
at
org.drools.rule.PackageCompilationData.wire(PackageCompilationData.java:255)
at
org.drools.rule.PackageCompilationData.reload(PackageCompilationData.java:220)
... 26 more
*** AOP AirlineRequestService.service() Time taken : 671
_______________________________________________
rules-users mailing list
rules-users@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-users