2012-06-01 5 views
4

J'utilise Drools chamelle serveur 5.4 finale pour exécuter les règles extraites de guvnor sur jboss AS7 comme suit:Rechargement Drools à distance Guvnor ressources à Drools chamelle serveur

<drools:resource type="PKG" source="http://localhost:8080/drools-guvnor/org.drools.guvnor.Guvnor/package/mypackage/Test" 
          basic-authentication="enabled" username="test" password="test" /> 
    </drools:resources> 
    <drools:ksession id="ksession1" type="stateless" 
      kbase="kbase" node="node1" /> 

comment puis-je recharger ou reconstruire la base de connaissances de sorte que les changements dans les règles soient instantanément répercutés sur le serveur d'exécution?

Répondre

2

Oui, vous pouvez en ajoutant un agent de connaissances et un scanner de changement de ressource ... voici mon exemple de travail

<drools:resource-change-scanner id="s1" interval="10" enabled="true"/> 
<drools:kagent kbase="kbase1" id="kagent" new-instance="false"/> 

<drools:grid-node id="node1"/> 

<drools:ksession id="ksession1" type="stateless" kbase="kbase1" node="node1"/> 

<drools:kbase id="kbase1" node="node1"> 
    <drools:resources> 
     <drools:resource type="DRL" source="classpath:test.drl"/> 
    </drools:resources> 
</drools:kbase> 
+0

merci pour votre réponse. Je crois que c'est la bonne façon, mais je suis incapable de le faire fonctionner quand la source est à distance. peut-être qu'il me manque quelque chose. – bhochhi

0

J'ai eu le même problème. Impossible de trouver une solution nulle part. J'avais abouti à des essais et des erreurs et finalement pour ce qui semble fonctionner pour moi. Il détecte quand mes ressources distantes dans Guvnor ont été mises à jour.

<drools:resource-change-scanner id="s1" interval="10" enabled="true" /> 
<drools:resource id="cs" type="CHANGE_SET" source="http://localhost:8080/drools-guvnor/rest/packages/com.test/assets/CHANGE_SET/source" basic-authentication="enabled" username="admin" password="admin" /> 

<drools:kagent kbase="kbase1" id="kagent" new-instance="false"> 
    <drools:resources> 
     <drools:resource ref="cs" /> 
    </drools:resources> 
</drools:kagent> 

<drools:grid-node id="node1"/> 
<drools:ksession id="ksession1" type="stateless" kbase="kbase1" node="node1"/> 

<drools:kbase id="kbase1" node="node1"> 
    <drools:resources> 
     <drools:resource ref="cs" /> 
    </drools:resources> 
</drools:kbase>