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: https://issues.jboss.org/browse/GUVNOR-1699
This issue should be solved now.

Best Regards,  

XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Esteban Aliverti
- Developer @ http://www.plugtree.com
- Blog @ http://ilesteban.wordpress.com


On Thu, Jan 12, 2012 at 7:44 AM, srinivasasanda <srinivasasanda@gmail.com> wrote:
Hi All


I am not able to get the updated rules still i used change set , can any one
plz sort out this problem

The source code is

using this program i am printing the rule name in package for every five
seconds.
for first time it prints rule names in package, after that packages are not
available in kbase...

import org.drools.KnowledgeBase;
import org.drools.KnowledgeBaseFactory;
import org.drools.agent.KnowledgeAgent;
import org.drools.agent.KnowledgeAgentFactory;
import org.drools.builder.KnowledgeBuilder;
import org.drools.builder.KnowledgeBuilderError;
import org.drools.builder.KnowledgeBuilderErrors;
import org.drools.builder.KnowledgeBuilderFactory;
import org.drools.builder.ResourceType;
import org.drools.definition.KnowledgePackage;
import org.drools.io.ResourceChangeScannerConfiguration;
import org.drools.io.ResourceFactory;
import org.drools.logger.KnowledgeRuntimeLogger;
import org.drools.logger.KnowledgeRuntimeLoggerFactory;
import org.drools.runtime.StatefulKnowledgeSession;
import org.drools.runtime.StatelessKnowledgeSession;
import org.drools.agent.*;

public class ChangeSet1
{

   private ChangeSet1()
   {

   }


   public static synchronized ChangeSet1 start()
   {
       try{
            if ( _instance == null)
            {

               _instance = new ChangeSet1();
                               String url="file:H:\\RuleFiles\\ChangeSet.xml";
                               _kagent = KnowledgeAgentFactory.newKnowledgeAgent( "MyAgent" );
               System.out.println("after creating kagent");
                   _kagent.applyChangeSet(ResourceFactory.newUrlResource(url));
               System.out.println("after apply change set");
                               //Create Knowledge Base
                               _kbase = _kagent.getKnowledgeBase();
                               ResourceChangeScannerConfiguration sconf=

ResourceFactory.getResourceChangeScannerService().newResourceChangeScannerConfiguration();
                               sconf.setProperty("drools.resource.scanner.interval", "5");
                               ResourceFactory.getResourceChangeScannerService().configure(sconf);
                               ResourceFactory.getResourceChangeNotifierService().start();
                               ResourceFactory.getResourceChangeScannerService().start();
                               System.out.println("After starting Notification service");
                        }
       }catch(Exception e)
       {
           System.out.println(e.getMessage());
       }
            return  _instance;
   }

       private static KnowledgeAgent _kagent;
       private static ChangeSet1 _instance;
       private static KnowledgeBase _kbase=null;
       private static StatelessKnowledgeSession _ksession=null;

          public static void main(String[] args)
   {
       int counter=0;
       try
       {
               System.out.println("Before rule engine start ");
               ChangeSet1.start();
               System.out.println("After rule engine start ");
               do{
                       _kbase = _kagent.getKnowledgeBase();
                   Collection<KnowledgePackage> kpackages =
_kbase.getKnowledgePackages();
                   System.out.println("no of packages"+kpackages.size());
                   for(KnowledgePackage kpackage : kpackages)
                   {
                      for(org.drools.definition.rule.Rule rule1
:kpackage.getRules())
                      {
                          String packname= rule1.getPackageName();
                          String rulename=rule1.getName();
                          System.out.println("This is : "+packname+" Packages and
RuleName is " +rulename);
                      }
                   }
                   counter++;

                   try{
                   Thread.sleep(10000);
                   }catch (InterruptedException e){
                       System.out.println("Sleep exception occured");
                   }

               }while(counter < 10000);

       }catch (Throwable t){
           t.printStackTrace();
       }
   }


}




This is my changeset.xml

<change-set xmlns='http://drools.org/drools-5.0/change-set'
   xmlns:xs='http://www.w3.org/2001/XMLSchema-instance'
   xs:schemaLocation='http://drools.org/drools-5.0/change-set
http://anonsvn.jboss.org/repos/labs/labs/jbossrules/trunk/drools-api/src/main/resources/change-set-1.0.0.xsd'
>
   <add>
        <resource
source='http://localhost:8080/guvnor-5.3.0.Final-jboss-as-5.1/rest/packages/pricing/source'
type='DRL' />
        <resource
source='http://localhost:8080/guvnor-5.3.0.Final-jboss-as-5.1/rest/packages/search/source'
type='DRL' />
   </add>
</change-set>



 Output:--
Before rule engine start
after creating kagent
after apply change set
After starting Notification service
After rule engine start
no of packages2
This is : pricing Packages and  RuleName is ageprice
This is : pricing Packages and  RuleName is incomeprice
This is : pricing Packages and  RuleName is cpvprice
This is : search Packages and  RuleName is age
This is : search Packages and  RuleName is income
This is : search Packages and  RuleName is cpv
no of packages0
<after updating package count is 0 so no rules>
no of packages0
no of packages0



--
View this message in context: http://drools.46999.n3.nabble.com/unable-to-update-the-changes-guvnor-rules-to-application-using-changeset-tp3652824p3652824.html
Sent from the Drools: User forum mailing list archive at Nabble.com.
_______________________________________________
rules-users mailing list
rules-users@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-users