Qaydaları yerinə tablo formatında drools qərar masa necə istifadə?

Aşağıdakı misal kodu rules.There yerinə qərar masa istifadə edərək prosesi təsvir edəcək iki yolları

bir) Birbaşa qaydaları icra yayılması hesabatı API istifadə edin.
b) Bir drl fayla excel yayılması hesabatı çevirmək və sonra qaydaları yerinə.

Mən ikinci proses təsvir edəcək (b).







** Əsas java sinif "DroolExcelDemo.java" deməkdir. İlk bir daxil excel hesabatı çevirmək edəcək (.drl) qaydaları fayl və sonra icra.




package DROOLS;

idxal java.io.BufferedWriter;
java.io.FileInputStream idxal;
idxal java.io.FileNotFoundException;
idxal java.io.FileWriter;
idxal java.io.IOException;
java.io.InputStream idxal;
idxal java.util.Collection;

idxal org.drools.KnowledgeBase;
idxal org.drools.KnowledgeBaseFactory;
idxal org.drools.builder.KnowledgeBuilder;
idxal org.drools.builder.KnowledgeBuilderFactory;
org.drools.builder.ResourceType idxal;
idxal org.drools.decisiontable.InputType;
idxal org.drools.decisiontable.SpreadsheetCompiler;
org.drools.definition.KnowledgePackage idxal;
idxal org.drools.event.rule.DebugAgendaEventListener;
idxal org.drools.event.rule.DebugWorkingMemoryEventListener;
idxal org.drools.io.ResourceFactory;
idxal org.drools.runtime.StatefulKnowledgeSession;

/**
* Bu sinif excel hesabatı bir drl faylı yaradır
* və sonra qaydaları yerinə.
*/
ictimai sinif DroolExcelDemo {
ictimai statik final etibarsız əsas(final String[] args) {
// Bilik builder yarat
final KnowledgeBuilder kbuilder = KnowledgeBuilderFactory.newKnowledgeBuilder();

// Excel hesabatı drl fayl yaradın
InputStream = null edir;
çalışmaq {
= Yeni FileInputStream edir(“D:/İş / DroolsDemo / src / DROOLS / DroolExcel.xls”);

} tutmaq (FileNotFoundException e) {
e.printStackTrace();
}
// Compiler sinif instansiya yarat
SpreadsheetCompiler nc = Yeni SpreadsheetCompiler();

// Yaratmaq üçün excel tərtib edən (.drl) fayl
StringBuffer drl = Yeni StringBuffer(sc.compile(edir, InputType.XLS));

// Drl fayla dialekt dəyər daxil edin
drl.insert(drl.indexOf(“DROOLS”)+40,”dialekt ”mvel ””+”\n”);

// Yaradılan drl fayl yoxlayın
System.out.println(“Generate DRL fayl aşağıda göstərir–: “);
System.out.println(drl);

// bir drl fayla string yazı
çalışmaq {
= Yeni BufferedWriter həyata BufferedWriter(yeni FileWriter(“D:/İş / DroolsDemo / src / DROOLS / RuleFile.drl”));
out.write(drl.toString());
out.close();
}
tutmaq (IOException e){
System.out.println(“Istisna “);
}
// Növbəti bölməsində drl faylı istifadə edərək əvvəl gözləyin.
çalışmaq {
Thread.sleep(10000);
} tutmaq (InterruptedException e) {
e.printStackTrace();
}
// Excel hesabatı drl fayl sonu yaradılması

// DRL fayl istifadə
kbuilder.add(ResourceFactory.newClassPathResource(“RuleFile.drl”, DroolMessage.class ), ResourceType.DRL );

// Səhvlər üçün builder yoxlayın
əgər ( kbuilder.hasErrors() ) {
System.out.println(“kbuilder səhvlər var”);
System.out.println( kbuilder.getErrors().toString());
}
// tərtib paketləri almaq (olan serializable var)
final Collection pkgs = kbuilder.getKnowledgePackages();

// bir informasiya üçün paketləri əlavə (bilik paketləri yerləşdirmək).
final informasiya kbase = KnowledgeBaseFactory.newKnowledgeBase();
kbase.addKnowledgePackages(pkgs);

// Stateful sessiya yarat
final StatefulKnowledgeSession ksession = kbase.newStatefulKnowledgeSession();

// Hadisə dinləyicilərə göstərilməyib
ksession.addEventListener(yeni DebugAgendaEventListener());
ksession.addEventListener(yeni DebugWorkingMemoryEventListener());

// Mesajı mətn yaradın
DroolMessage messagetxt = Yeni DroolMessage();
messagetxt.setMessage(“Reysin nömrəsi”);

DroolMessage messagetxt1 = Yeni DroolMessage();
messagetxt1.setMessage(“FlightCode”);

// Sessiya və yanğın qaydaları daxil edin
System.out.println(“sessiya daxil”);
ksession.insert(messagetxt);
ksession.insert(messagetxt1);
System.out.println(“qaydaları atəş əvvəl”);
ksession.fireAllRules();
System.out.println(“qaydaları atəş sonra”);
ksession.dispose();
System.out.println(“sərəncam sonra”);
}
}








* *İkinci fayl 'DroolMessage.java edir’ pojo sinif. Bu əsas java sinif tərəfindən müəyyən dəyərləri yuxarıda təsvir keçirir.

package DROOLS;
/**
* This is a POJO for messages.It will be used by the drl file.
* The message values will be set from the DroolExcelDemo class
*/
public class DroolMessage {
// Create variable
private String message;

// Inşaatçı
ictimai DroolMessage() {
System.out.println(“Mesaj başlatılıyor”);
}
// Setter və törədici üsulları
ictimai String getMessage() {
Mesaj qayıtmaq;
}
ictimai etibarsız setMessage(String mesaj) {
this.message = mesaj;
}
// qayda icra test test üsulu
ictimai etibarsız test(String test) {
System.out.println(“Təhlil başlanğıc və son mövqe: “+sınaq);
}
}

** Aşağıdakı 'DroolExcelDemo.java tərəfindən bir qayda fayl’ sinif.

package DROOLS;
//generated from Decision Table
dialect "mvel"
import DroolMessage;
// rule values at B12, header at B7
rule "DroolExcelRule_12"
when
msg:DroolMessage(message == "FlightNumber")
then
msg.test("1,6");
end

// B13 da qayda dəyərlər, B7 da mövzu
idarə “DroolExcelRule_13”
zaman
msg:DroolMessage(Mesaj == “FlightCode”)
sonra
msg.test(“7,8”);
son

** Aşağıdakılar daxil 'DroolExcelDemo.java based qayda fayl üstün deyil’ yuxarıda sinif.


15 "haqqında düşüncələrQaydaları yerinə tablo formatında drools qərar masa necə istifadə?

    1. Kaushik Post müəllif

      Hi Daniel,

      Interest üçün təşəkkür edirik. Mənə dəqiq tələb bildirin. Mən sizə excel hesabatı göndərir.

      Alqış
      /KP

    1. Kaushik Post müəllif

      Hi Aakash,

      Mənə dəqiq tələb göndərin. Mən sizə kömək etmək üçün mənim ən yaxşı çalışacağıq.

      Təşəkkür,
      Techalpine

  1. Manideepa

    Salam,
    Siz DroolExcel.xls fayl bölüşmək edin bilər?
    Mən bu proqram icra istədi. Mən Drools yeni am və bu işləri necə anlamaq istəyirdilər.
    Mənim e-mail: b4umani2003@gmail.com

    Təşəkkür,
    Mani

  2. Kaushik Post müəllif

    Hi Manideepa,

    excel nümunə artıq post göstərilir. Bu kimi istifadə edə bilərsiniz. Bəzi digər tələb varsa,, Mənə bildirin yoxdur. Mən sizə məsələləri düzmək kömək üçün sevgi olardı.

    Təşəkkür
    /KP

  3. Nithya Kathiresan

    Salam,
    Siz qaydaları icra birbaşa yayılması hesabatı API istifadə etmək üçün necə bilirsinizmi?

    Təşəkkür,
    Nithya

  4. Ananya

    Salam,

    Excel bölüşmək edin bilər ? Mən ədəd bir simli uyğun və ya daha başqa simli simli axtarmaq istədiyiniz

    Təşəkkür

  5. Shekhar Shaw

    Hello,
    Mən icra çalışıram isə, xətt aşağıda emal isə tapılmadı səhv bir fayl artırılması.

    // DRL fayl istifadə
    kbuilder.add(ResourceFactory.newClassPathResource("RuleFile.drl", DroolMessage.class ), ResourceType.DRL );

    Mən nə etmək lazımdır nə təklif edin bilər.

    salam,
    Shekhar Shaw

    1. Kaushik Post müəllif

      Hello Shekhar,

      Siz .drl və Sinif faylları həm də mövcuddur ki, təmin etmək lazımdır. yoxlamaq və hər hansı bir problem varsa, xahiş edirik Mənə bildirin.

      Mənə mail edin @ techalpineit@gmail.com

      Təşəkkür
      Kaushik

  6. Rahul Pandey

    hi
    it is very good blog i executed. but i want to generate Rule file template automatically without adding any Rule file.

============================================= ============================================== Buy best TechAlpine Books on Amazon
============================================== ---------------------------------------------------------------- electrician ct chestnutelectric
error

Enjoy this blog? Please spread the word :)

Follow by Email
LinkedIn
LinkedIn
Share