小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

Drools學(xué)習(xí)筆記4-第一個(gè)例子

 賈朋亮博客 2015-07-01

安裝環(huán)境有了,下面開始做第一個(gè)例子。

新建一個(gè)Drools工程,新建時(shí)就會(huì)生成一個(gè)hello world的例子。這個(gè)例子我看了一下,沒(méi)多看。從網(wǎng)上找了一個(gè)更復(fù)雜的例子。例子的具體內(nèi)容自己去看。下面主要說(shuō)說(shuō)在做這個(gè)例子時(shí)遇到的問(wèn)題。

Drools工程的目錄結(jié)構(gòu):


1、關(guān)于Drl文件:addpoint.drl和subpoint.drl,放到rule文件夾下。注意:drl規(guī)則文件中有pacakage,比 如例子中就是com.drools.demo.point。但不能在rule建相應(yīng)的包,然后吧drl文件放進(jìn)去,這樣會(huì)導(dǎo)致java類 (PointRuleEgineImpl)報(bào)錯(cuò),我開始就是這么做的。

2、關(guān)于PointRuleEngineImpl文件:例子中的代碼用的是Drools5.2.0。現(xiàn)在我們的環(huán)境是6.0.0,相對(duì)以前的版本有 了很大的改動(dòng)。一些類的位置變了,這是小問(wèn)題。關(guān)鍵是Drools6.0.0采用了一個(gè)叫KIE的東西,來(lái)管理整個(gè)系統(tǒng)。有關(guān)KIE的詳細(xì)信息,看這里。我們這里只關(guān)注如何在我們的例子中使用KIE。

PointRuleEngine.java

  1. 1.  package com.jd.drools.test;    
  2. 2.      
  3. 3.      
  4. 4.  import org.kie.api.KieServices;    
  5. 5.  import org.kie.api.runtime.KieContainer;    
  6. 6.  import org.kie.api.runtime.KieSession;    
  7. 7.      
  8. 8.  import com.jd.drools.test.PointDomain;    
  9. 9.      
  10. 10public class PointRuleEngineImpl  {    
  11. 11.     
  12. 12.     
  13. 13.     public static void main(String[] args)   {    
  14. 14.        // load up the knowledge base     
  15. 15.         KieServices ks = KieServices.Factory.get();    
  16. 16.         KieContainer kContainer = ks.getKieClasspathContainer();    
  17. 17.         KieSession kSession = kContainer.newKieSession("ksession-rules");    
  18. 18.         PointDomain pointDomain=new PointDomain();    
  19. 19.         pointDomain.setUserName("hello kity");    
  20. 20.         pointDomain.setBackMondy(100d);    
  21. 21.         pointDomain.setBuyMoney(500d);    
  22. 22.         pointDomain.setBackNums(1);    
  23. 23.         pointDomain.setBuyNums(5);    
  24. 24.         pointDomain.setBillThisMonth(5);    
  25. 25.         pointDomain.setBirthDay(true);    
  26. 26.         pointDomain.setPoint(0l);               
  27. 27.         kSession.insert(pointDomain);    
  28. 28.         kSession.fireAllRules();    
  29. 29.     
  30. 30.     }    
  31. 31.     
  32. 32. }    

沒(méi)錯(cuò),就是這么簡(jiǎn)單。和helloworld例子中沒(méi)啥區(qū)別。為啥這么簡(jiǎn)單?

首先,沒(méi)有了讀取規(guī)則文件drl的代碼。KIE默認(rèn)加載Resource文件夾和其子文件夾下的所有規(guī)則文件。

還有,一些相關(guān)的配置信息挪到了/META-INF/kmodule.xml中。KIE默認(rèn)讀取kmodule.xml,生成文件里定義的KSession等。

至此,我們初步學(xué)習(xí)了Drools。知道了Drools是什么,是計(jì)算機(jī)那個(gè)領(lǐng)域中的東西,采用的是什么算法,如何搭建開發(fā)環(huán)境,規(guī)則文件是什么樣的,放在哪,有了規(guī)則文件后,該如何讀取并運(yùn)行規(guī)則。對(duì)Drools整體有了初步的印象。下面就可以開始做項(xiàng)目了。至于規(guī)則如何定義,規(guī)則語(yǔ)言的語(yǔ)法等等,開一邊做項(xiàng)目邊學(xué)習(xí)。這幾篇文章只是分享給像我一樣的初學(xué)者,將初期容易遇到的問(wèn)題曝光,以便我們盡快入門,節(jié)省時(shí)間。

PS:當(dāng)然,如果你的項(xiàng)目還要集成其他框架,那你還得再準(zhǔn)備準(zhǔn)備。我的項(xiàng)目沒(méi)有用的別的框架,到這就可以開工了!

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多