Voir ci-dessous J'ai essayé l'exemple de la page ci-dessous. Tout fonctionne bien, mais je ne reçois pas la règle appliquée et génère le statut applicable à partir de cette règle.Drools Génération de fichiers de règles dynamiques à partir de la base de données (fichier drl) en utilisant le modèle de règle
Emplacement du code exemple: http://dilipsarangi.blogspot.co.uk/2015/09/drools-610-dynamic-rules-in-database.html
Je suis en mesure de charger les données de la table pour le cas de test. mais lorsque System.out.println(aa.getName() + "," + aa.getStatus());
aa.getstatus
est null.
La règle générée dynamique.
package org.drools.template.jdbc;
dialect "mvel"
rule "ageRule_7"
when
$person : Person(age>=81 && age<100)
then
$person.status=":" + "Old Aged";
end
rule "ageRule_6"
when
$person : Person(age>=61 && age<81)
then
$person.status=":" + "Senior Citizen";
end
rule "ageRule_5"
when
$person : Person(age>=41 && age<61)
then
$person.status=":" + "Middle Aged";
end
rule "ageRule_4"
when
$person : Person(age>=18 && age<41)
then
$person.status=":" + "Youth";
end
rule "ageRule_3"
when
$person : Person(age>=13 && age<18)
then
$person.status=":" + "Juvenile";
end
rule "ageRule_2"
when
$person : Person(age>=6 && age<13)
then
$person.status=":" + "Young Age";
end
rule "ageRule_1"
when
$person : Person(age>=2 && age<6)
then
$person.status=":" + "Baby";
end
rule "ageRule_0"
when
$person : Person(age>=0 && age<2)
then
$person.status=":" + "Infant";
end
J'utilise 6.4.0 final La règle que j'ai publiée est générée en utilisant le fichier drt. Ther modèle de drt réel ' J'ai essayé de changer le modèle avec des changements ci-dessous il n'a pas fonctionné réellement. Voir l'exemple dans le lien fournir ce fichier drl réel 'puis // $ person.status = ":" + "@ {status}"; modify ($ person) {$ person.status = ":" + "@ {status}";} ' –
Désolé, déplacez le point-virgule en dehors des parenthèses {}. J'ai mis à jour la réponse. – Neil
@JavaEvangelist Il est également recommandé d'utiliser les méthodes 'setX()' plutôt que d'accéder aux champs. – laune