Hi Edson, thanx for answering, i've tried 4.0.3, but i get the following error when i try to refresh my rules:
java.lang.IllegalArgumentException: Cannot remove a sink, when the list of sinks is null at org.drools.reteoo.ObjectSource.removeObjectSink(ObjectSource.java:116) at org.drools.reteoo.AlphaNode.remove(AlphaNode.java:192) at org.drools.reteoo.LeftInputAdapterNode.remove(LeftInputAdapterNode.java:189) at org.drools.reteoo.BetaNode.remove(BetaNode.java:173) at org.drools.reteoo.RuleTerminalNode.remove(RuleTerminalNode.java:466) at org.drools.reteoo.ReteooBuilder.removeRule(ReteooBuilder.java:224) at org.drools.reteoo.ReteooRuleBase.removeRule(ReteooRuleBase.java:270) at org.drools.common.AbstractRuleBase.removeRule(AbstractRuleBase.java:614) at org.drools.common.AbstractRuleBase.removePackage(AbstractRuleBase.java:531) ... During refresh i do the following: public void refresh() { try { ruleBase.removePackage("org.sample.mypackage"); // reading drl files from direcotry and puting them in the package ... for(int i = 0; i < size; i++ ) { builder.addPackageFromDrl( new InputStreamReader(getClass().getResourceAsStream( "package" + i + ".drl" ) ) );; } if(ruleBase == null) { ruleBase = RuleBaseFactory.newRuleBase(); } ruleBase.addPackage(builder.getPackage()); } catch(Exception e) { log.error("Error while refreshing rules: ", e); } } and one of my .drl files (they all belong to the same package) looks something like this: package org.sample.mypackage import org.sample.Orders; import org.sample.OrderItem; import org.sample.service.OrderService; import java.util.ArrayList import org.apache.log4j.Logger global OrderService orderService global Logger log rule "Apply Discount" when orders : Orders(); items : ArrayList() from collect ( OrderItem(value > 100) from order.items) then log.debug("Apply Discount"); orderService.applyDiscount(items); end were OrderService is a service class that i'm using to do some calculating. Do you have some idea about what could be causing this error? Edson Tirelli-3 wrote: > > Can you try 4.0.3? There was some fix for package management included > in > 4.0.2 if I'm not mistaken... > > []s > Edson > > 2007/10/31, igor_b <[EMAIL PROTECTED]>: >> >> >> Hi, >> >> I'm using drools 4.0.1. I'm first adding one package to my RuleBase >> object, >> and everything works just fine: >> >> ... >> builder.addPackageFromDrl(new InputStreamReader(resource.getInputStream >> ())); >> >> if(ruleBase == null) { >> ruleBase = RuleBaseFactory.newRuleBase(); >> } >> ruleBase.addPackage(builder.getPackage()); >> >> >> But after some time i need to refresh my rules, so i'm using following >> code >> to remove previous package: >> >> ruleBase.removePackage("org.sample.mypackage"); >> >> and i'm getting the following error: >> >> java.lang.NullPointerException >> at org.drools.reteoo.ReteooBuilder.removeRule(ReteooBuilder.java >> :222) >> at >> org.drools.reteoo.ReteooRuleBase.removeRule(ReteooRuleBase.java >> :272) >> at >> org.drools.common.AbstractRuleBase.removePackage(AbstractRuleBase.java >> :460) >> at >> com.diosphere.diomedia.common.drools.impl.RulesServiceImpl.refresh( >> RulesServiceImpl.java:121) >> at >> com.diosphere.diomedia.service.impl.PromotionManagerImpl.refreshDRLs( >> PromotionManagerImpl.java:39) >> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) >> at >> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java >> :39) >> at >> sun.reflect.DelegatingMethodAccessorImpl.invoke( >> DelegatingMethodAccessorImpl.java:25) >> at java.lang.reflect.Method.invoke(Method.java:597) >> at >> uk.ltd.getahead.dwr.impl.ExecuteQuery.execute(ExecuteQuery.java >> :170) >> at >> uk.ltd.getahead.dwr.impl.DefaultProcessor.doExec(DefaultProcessor.java >> :552) >> at >> uk.ltd.getahead.dwr.impl.DefaultProcessor.handle(DefaultProcessor.java:88) >> at uk.ltd.getahead.dwr.DWRServlet.doPost(DWRServlet.java:178) >> at javax.servlet.http.HttpServlet.service(HttpServlet.java:710) >> at javax.servlet.http.HttpServlet.service(HttpServlet.java:803) >> at >> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter( >> ApplicationFilterChain.java:290) >> at >> org.apache.catalina.core.ApplicationFilterChain.doFilter( >> ApplicationFilterChain.java:206) >> at >> com.opensymphony.module.sitemesh.filter.PageFilter.parsePage( >> PageFilter.java:118) >> at >> com.opensymphony.module.sitemesh.filter.PageFilter.doFilter( >> PageFilter.java:52) >> at >> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter( >> ApplicationFilterChain.java:235) >> at >> org.apache.catalina.core.ApplicationFilterChain.doFilter( >> ApplicationFilterChain.java:206) >> at >> net.sf.acegisecurity.util.FilterChainProxy.doFilter(FilterChainProxy.java >> :167) >> at >> net.sf.acegisecurity.util.FilterToBeanProxy.doFilter( >> FilterToBeanProxy.java:120) >> 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:230) >> at >> org.apache.catalina.core.StandardContextValve.invoke( >> StandardContextValve.java:175) >> at >> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java >> :128) >> at >> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java >> :104) >> at >> org.apache.catalina.core.StandardEngineValve.invoke( >> StandardEngineValve.java:109) >> at >> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java >> :261) >> at >> org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844) >> at >> org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process( >> Http11Protocol.java:581) >> at org.apache.tomcat.util.net.JIoEndpoint$Worker.run( >> JIoEndpoint.java:447) >> at java.lang.Thread.run(Thread.java:619) >> >> Does anyone have a clue what might be the problem, and how to fix it? >> Kind regards! >> -- >> View this message in context: >> http://www.nabble.com/Problem-with-removePackage%28%29-tf4727072.html#a13516014 >> Sent from the drools - user mailing list archive at Nabble.com. >> >> _______________________________________________ >> rules-users mailing list >> rules-users@lists.jboss.org >> https://lists.jboss.org/mailman/listinfo/rules-users >> > > > > -- > Edson Tirelli > Software Engineer - JBoss Rules Core Developer > Office: +55 11 3529-6000 > Mobile: +55 11 9287-5646 > JBoss, a division of Red Hat @ www.jboss.com > > _______________________________________________ > rules-users mailing list > rules-users@lists.jboss.org > https://lists.jboss.org/mailman/listinfo/rules-users > > -- View this message in context: http://www.nabble.com/Problem-with-removePackage%28%29-tf4727072.html#a13528214 Sent from the drools - user mailing list archive at Nabble.com. _______________________________________________ rules-users mailing list rules-users@lists.jboss.org https://lists.jboss.org/mailman/listinfo/rules-users