Как загрузить определенное правило (.drl) из веб-приложения Guvnor? - PullRequest
1 голос
/ 04 мая 2011

Например, я добавил два правила (rule1.drl и rule2.drl) в Guvnor.

Обычно я могу получить эти правила вместе, создав файл changeset.xml, например:

<change-set ...>
<add>
<resource source='http://localhost/guvnor/org.drools.guvnor.Guvnor/package/name/LATEST.drl' type='DRL' basicAuthentication="enabled" username="username" password="password"  />
</add>
</change-set>

И загрузите файл changeset.xml по кодам:

KnowledgeAgent kagent = KnowledgeAgentFactory.newKnowledgeAgent("Test Agent", kaconf);
kagent.applyChangeSet(ResourceFactory.newClassPathResource("changeset.xml"));
knowledgeBase = kagent.getKnowledgeBase();

Но как мне получить только определенное правило?например, rule2.drl

Конечно, я могу изменить URL-адрес в файле changeset.xml на

<resource source='http://localhost/guvnor/org.drools.guvnor.Guvnor/package/name/LATEST/rule2.drl' type='DRL' basicAuthentication="enabled" username="username" password="password"  />

Но я обнаружил, что в файле ответов, например, пропущено имя пакета и все операторы импорта.:

package com.packname;
import namespace.EntityA;

Ответы [ 3 ]

2 голосов
/ 13 января 2012

Когда нам нужно выполнить специальный пакет drl, мы используем разные наборы изменений для каждого пакета / снимка.

Если правила связаны, используйте разные pojos для разделения правила, потому что вы знаете, что guvnor компилирует все ваши правила изпакет в одном большом .drl, это может быть медленным, если у вас есть сотня правил-потом-конца и итерация с разными экземплярами pojo.

1 голос
/ 15 марта 2012

Шаблоны URL для пакетов и отдельных ресурсов различны. Для активов (например, ДХО) шаблон имеет вид:

<resource source='http://localhost:9090/drools-guvnor/rest/packages/test/assets/MyRule/source' type='DRL' />
0 голосов
/ 16 мая 2011

Мой способ обойти эту проблему - создать два разных пакета, один для rule1.drl и один для rule2.drl.Поэтому моя программа прочитала эти два правила с помощью двух разных наборов изменений.

...