Which version of Guvnor/Drools are you using? There was a known bug that affected even 5.3 where knowledge packages in Guvnor were marked as removed: <a href="https://issues.jboss.org/browse/GUVNOR-1699">https://issues.jboss.org/browse/GUVNOR-1699</a><div>
This issue should be solved now.</div><div><br></div><div>Best Regards, <br clear="all"><br>XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX<br><br>Esteban Aliverti<br>- Developer @ <a href="http://www.plugtree.com" target="_blank">http://www.plugtree.com </a><br>
- Blog @ <a href="http://ilesteban.wordpress.com" target="_blank">http://ilesteban.wordpress.com</a><br>
<br><br><div class="gmail_quote">On Thu, Jan 12, 2012 at 7:44 AM, srinivasasanda <span dir="ltr"><<a href="mailto:srinivasasanda@gmail.com">srinivasasanda@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Hi All<br>
<br>
<br>
I am not able to get the updated rules still i used change set , can any one<br>
plz sort out this problem<br>
<br>
The source code is<br>
<br>
using this program i am printing the rule name in package for every five<br>
seconds.<br>
for first time it prints rule names in package, after that packages are not<br>
available in kbase...<br>
<br>
import org.drools.KnowledgeBase;<br>
import org.drools.KnowledgeBaseFactory;<br>
import org.drools.agent.KnowledgeAgent;<br>
import org.drools.agent.KnowledgeAgentFactory;<br>
import org.drools.builder.KnowledgeBuilder;<br>
import org.drools.builder.KnowledgeBuilderError;<br>
import org.drools.builder.KnowledgeBuilderErrors;<br>
import org.drools.builder.KnowledgeBuilderFactory;<br>
import org.drools.builder.ResourceType;<br>
import org.drools.definition.KnowledgePackage;<br>
import org.drools.io.ResourceChangeScannerConfiguration;<br>
import org.drools.io.ResourceFactory;<br>
import org.drools.logger.KnowledgeRuntimeLogger;<br>
import org.drools.logger.KnowledgeRuntimeLoggerFactory;<br>
import org.drools.runtime.StatefulKnowledgeSession;<br>
import org.drools.runtime.StatelessKnowledgeSession;<br>
import org.drools.agent.*;<br>
<br>
public class ChangeSet1<br>
{<br>
<br>
private ChangeSet1()<br>
{<br>
<br>
}<br>
<br>
<br>
public static synchronized ChangeSet1 start()<br>
{<br>
try{<br>
if ( _instance == null)<br>
{<br>
<br>
_instance = new ChangeSet1();<br>
String url="file:H:\\RuleFiles\\ChangeSet.xml";<br>
_kagent = KnowledgeAgentFactory.newKnowledgeAgent( "MyAgent" );<br>
System.out.println("after creating kagent");<br>
_kagent.applyChangeSet(ResourceFactory.newUrlResource(url));<br>
System.out.println("after apply change set");<br>
//Create Knowledge Base<br>
_kbase = _kagent.getKnowledgeBase();<br>
ResourceChangeScannerConfiguration sconf=<br>
<br>
ResourceFactory.getResourceChangeScannerService().newResourceChangeScannerConfiguration();<br>
sconf.setProperty("drools.resource.scanner.interval", "5");<br>
ResourceFactory.getResourceChangeScannerService().configure(sconf);<br>
ResourceFactory.getResourceChangeNotifierService().start();<br>
ResourceFactory.getResourceChangeScannerService().start();<br>
System.out.println("After starting Notification service");<br>
}<br>
}catch(Exception e)<br>
{<br>
System.out.println(e.getMessage());<br>
}<br>
return _instance;<br>
}<br>
<br>
private static KnowledgeAgent _kagent;<br>
private static ChangeSet1 _instance;<br>
private static KnowledgeBase _kbase=null;<br>
private static StatelessKnowledgeSession _ksession=null;<br>
<br>
public static void main(String[] args)<br>
{<br>
int counter=0;<br>
try<br>
{<br>
System.out.println("Before rule engine start ");<br>
ChangeSet1.start();<br>
System.out.println("After rule engine start ");<br>
do{<br>
_kbase = _kagent.getKnowledgeBase();<br>
Collection<KnowledgePackage> kpackages =<br>
_kbase.getKnowledgePackages();<br>
System.out.println("no of packages"+kpackages.size());<br>
for(KnowledgePackage kpackage : kpackages)<br>
{<br>
for(org.drools.definition.rule.Rule rule1<br>
:kpackage.getRules())<br>
{<br>
String packname= rule1.getPackageName();<br>
String rulename=rule1.getName();<br>
System.out.println("This is : "+packname+" Packages and<br>
RuleName is " +rulename);<br>
}<br>
}<br>
counter++;<br>
<br>
try{<br>
Thread.sleep(10000);<br>
}catch (InterruptedException e){<br>
System.out.println("Sleep exception occured");<br>
}<br>
<br>
}while(counter < 10000);<br>
<br>
}catch (Throwable t){<br>
t.printStackTrace();<br>
}<br>
}<br>
<br>
<br>
}<br>
<br>
<br>
<br>
<br>
This is my changeset.xml<br>
<br>
<change-set xmlns='<a href="http://drools.org/drools-5.0/change-set" target="_blank">http://drools.org/drools-5.0/change-set</a>'<br>
xmlns:xs='<a href="http://www.w3.org/2001/XMLSchema-instance" target="_blank">http://www.w3.org/2001/XMLSchema-instance</a>'<br>
xs:schemaLocation='<a href="http://drools.org/drools-5.0/change-set" target="_blank">http://drools.org/drools-5.0/change-set</a><br>
<a href="http://anonsvn.jboss.org/repos/labs/labs/jbossrules/trunk/drools-api/src/main/resources/change-set-1.0.0.xsd" target="_blank">http://anonsvn.jboss.org/repos/labs/labs/jbossrules/trunk/drools-api/src/main/resources/change-set-1.0.0.xsd</a>'<br>
><br>
<add><br>
<resource<br>
source='<a href="http://localhost:8080/guvnor-5.3.0.Final-jboss-as-5.1/rest/packages/pricing/source" target="_blank">http://localhost:8080/guvnor-5.3.0.Final-jboss-as-5.1/rest/packages/pricing/source</a>'<br>
type='DRL' /><br>
<resource<br>
source='<a href="http://localhost:8080/guvnor-5.3.0.Final-jboss-as-5.1/rest/packages/search/source" target="_blank">http://localhost:8080/guvnor-5.3.0.Final-jboss-as-5.1/rest/packages/search/source</a>'<br>
type='DRL' /><br>
</add><br>
</change-set><br>
<br>
<br>
<br>
Output:--<br>
Before rule engine start<br>
after creating kagent<br>
after apply change set<br>
After starting Notification service<br>
After rule engine start<br>
no of packages2<br>
This is : pricing Packages and RuleName is ageprice<br>
This is : pricing Packages and RuleName is incomeprice<br>
This is : pricing Packages and RuleName is cpvprice<br>
This is : search Packages and RuleName is age<br>
This is : search Packages and RuleName is income<br>
This is : search Packages and RuleName is cpv<br>
no of packages0<br>
<after updating package count is 0 so no rules><br>
no of packages0<br>
no of packages0<br>
<span class="HOEnZb"><font color="#888888"><br>
<br>
<br>
--<br>
View this message in context: <a href="http://drools.46999.n3.nabble.com/unable-to-update-the-changes-guvnor-rules-to-application-using-changeset-tp3652824p3652824.html" target="_blank">http://drools.46999.n3.nabble.com/unable-to-update-the-changes-guvnor-rules-to-application-using-changeset-tp3652824p3652824.html</a><br>
Sent from the Drools: User forum mailing list archive at Nabble.com.<br>
_______________________________________________<br>
rules-users mailing list<br>
<a href="mailto:rules-users@lists.jboss.org">rules-users@lists.jboss.org</a><br>
<a href="https://lists.jboss.org/mailman/listinfo/rules-users" target="_blank">https://lists.jboss.org/mailman/listinfo/rules-users</a><br>
</font></span></blockquote></div><br></div>