guangnian0412's BLOG

          Java in my life

          常用鏈接

          統(tǒng)計(jì)

          積分與排名

          我關(guān)注的Blog

          最新評(píng)論

          JBoss Rules(Drools)

          記錄學(xué)習(xí)JBoss Rules的點(diǎn)點(diǎn)滴滴
          JBoss Rules 學(xué)習(xí)(七): Drools規(guī)則語(yǔ)言詳解(下)
               摘要: Rule 結(jié)構(gòu)是最重要的結(jié)構(gòu)。 Rule 使用了形如“ IF ” something “ THEN ” action (當(dāng)然,我們的關(guān)鍵字是“ when ”和“ then ”)的形式。

          一個(gè)規(guī)則在一個(gè) package 中必須要有唯一的名字。如果一個(gè)名字中含有空格,那就需要將名字放在雙引號(hào)中(最好總是使用雙引號(hào))。

          Attribute 是可選的(最好是每行只有一個(gè) Attribute )。

          規(guī)則的 LHS 跟在“ when ”關(guān)鍵字的后面(最好是另起一行),同樣 RHS 要跟在“ then ”關(guān)鍵字后面(最好也另起一行)。規(guī)則以關(guān)鍵字“ end ”結(jié)束。規(guī)則不能嵌套。   閱讀全文

          posted @ 2006-06-09 19:38 guangnian 閱讀(15813) | 評(píng)論 (17)  編輯

          JBoss Rules 學(xué)習(xí)(六): Drools規(guī)則語(yǔ)言詳解(上)
               摘要: Drools 3 采用了原生的規(guī)則語(yǔ)言,那是一種非 XML 文本格式。在符號(hào)方面,這種格式是非常輕量的,并且通過(guò)“ expanders ”支持符合你問(wèn)題域的 Domain Specific Language ( DSL )。這一章把焦點(diǎn)放在了 Drools 原生的規(guī)則格式。如果你想從技術(shù)上了解規(guī)則語(yǔ)言的機(jī)制,可以參考“ drl.g ”源文件,這是用 Antlr3 語(yǔ)法來(lái)描述規(guī)則語(yǔ)言。如果你使用 Rule Workbench ,內(nèi)容助手將會(huì)為你完成大量的規(guī)則結(jié)構(gòu),例如輸入“ ru ”,然后按 ctrl + space ,會(huì)為你建立規(guī)則結(jié)構(gòu)。  閱讀全文

          posted @ 2006-06-09 01:16 guangnian 閱讀(14294) | 評(píng)論 (7)  編輯

          JBoss Rules 學(xué)習(xí)(五): JBoss Rules 3.0.1 類(lèi)庫(kù)介紹

          posted @ 2006-06-04 23:55 guangnian 閱讀(7938) | 評(píng)論 (3)  編輯

          JBoss Rules 學(xué)習(xí)(四): Drools規(guī)則引擎 (下)
               摘要: WorkingMemory 是運(yùn)行時(shí)規(guī)則引擎的主要類(lèi)。它保持了所有被 asserted 進(jìn) WorkingMemory 的數(shù)據(jù)的引用,直到取消( retracted )。 WorkingMemory 是有狀態(tài)對(duì)象。它們的生命周期可長(zhǎng)可短。如果從一個(gè)短生命周期的角度來(lái)同一個(gè)引擎進(jìn)行交互,意味著你可以使用 RuleBase 對(duì)象來(lái)為每個(gè) session 產(chǎn)生一個(gè)新的 WorkingMemory ,然后在結(jié)束 session 后 discard 這個(gè) WorkingMemory (產(chǎn)生一個(gè) WorkingMemory 是一個(gè)廉價(jià)的操作)。另一種形式,就是在一個(gè)相當(dāng)長(zhǎng)的時(shí)間中(例如一個(gè) conversation ),保持一個(gè) WorkingMemory ,并且對(duì)于新的 facts 保持持續(xù)的更新。當(dāng)你希望 dispose 一個(gè) WorkingMemory 的時(shí)候,最好的實(shí)踐就是調(diào)用 dispose() 方法,此時(shí) RuleBase 中對(duì)它的引用將會(huì)被移除(盡管這是一個(gè)弱引用)。不管怎樣最后它將會(huì)被當(dāng)成垃圾收集掉。術(shù)語(yǔ)   閱讀全文

          posted @ 2006-06-04 14:55 guangnian 閱讀(11064) | 評(píng)論 (6)  編輯

          JBoss Rules 學(xué)習(xí)(三): Drools規(guī)則引擎 (上)
               摘要: Drools 分為兩個(gè)主要部分:構(gòu)建( Authoring )和運(yùn)行時(shí)( Runtime )。

          構(gòu)建的過(guò)程涉及到 .drl 或 .xml 規(guī)則文件的創(chuàng)建,它們被讀入一個(gè)解析器,使用 ANTLR 3 語(yǔ)法進(jìn)行解析。解析器對(duì)語(yǔ)法進(jìn)行正確性的檢查,然后產(chǎn)生一種中間結(jié)構(gòu)“ descr ”, descr 用 AST 來(lái)描述規(guī)則。 AST 然后被傳到 PackageBuilder ,由 PackagBuilder 來(lái)產(chǎn)生 Packaged 對(duì)象。 PackageBuilder 還承擔(dān)著一些代碼產(chǎn)生和編譯的工作,這些對(duì)于產(chǎn)生 Package 對(duì)象都時(shí)必需的。 Package 對(duì)象是一個(gè)可以配置的,可序列化的,由一個(gè)或多個(gè)規(guī)則組成的對(duì)象。  閱讀全文

          posted @ 2006-06-04 12:50 guangnian 閱讀(22549) | 評(píng)論 (14)  編輯

          JBoss Rules 學(xué)習(xí)(二): RETE算法
               摘要: 在JBoss Rules 學(xué)習(xí)(一):什么是Rule中,我們介紹了JBoss Rules中對(duì)Rule的表示,其中提到了JBoss Rule中主要采用的RETE算法來(lái)進(jìn)行規(guī)則匹配。下面將詳細(xì)的介紹一下RETE算法在JBoss Rule中的實(shí)現(xiàn),最后隨便提一下JBoss Rules中也可以使用的另一種規(guī)則匹配算法Leaps。  閱讀全文

          posted @ 2006-06-01 17:06 guangnian 閱讀(13484) | 評(píng)論 (4)  編輯

          JBoss Rules 學(xué)習(xí)(一): 什么是Rule
               摘要: 學(xué)習(xí)JBoss Rules有幾天了,因?yàn)檫@方面的中文資料較少,所以這幾天都在看官網(wǎng)上的manual。這是一份不錯(cuò)的教程,我把我看的一些重要的東西翻譯整理了一下,希望可以對(duì)想學(xué)習(xí)JBoss Rules的同學(xué)們提供一點(diǎn)幫助。
          在開(kāi)始這份教程之前,我先簡(jiǎn)要介紹一下JBoss Rules:
          JBoss Rules 的前身是Codehaus的一個(gè)開(kāi)源項(xiàng)目叫Drools。最近被納入JBoss門(mén)下,更名為JBoss Rules,成為了JBoss應(yīng)用服務(wù)器的規(guī)則引擎。
          Drools是為Java量身定制的基于Charles Forgy的RETE算法的規(guī)則引擎的實(shí)現(xiàn)。具有了OO接口的RETE,使得商業(yè)規(guī)則有了更自然的表達(dá)。

          既然JBoss Rules是一個(gè)商業(yè)規(guī)則引擎,那我們就要先知道到底什么是Rules,即規(guī)則。在JBoss Rules中,規(guī)則是如何被表示的  閱讀全文

          posted @ 2006-06-01 16:52 guangnian 閱讀(22715) | 評(píng)論 (23)  編輯

          主站蜘蛛池模板: 洞头县| 隆尧县| 句容市| 金寨县| 普定县| 余江县| 石门县| 铁岭市| 上思县| 留坝县| 观塘区| 山东| 锡林浩特市| 琼中| 教育| 和田市| 丰原市| 石棉县| 如皋市| 长阳| 海口市| 雅江县| 泸州市| 灵石县| 麦盖提县| 惠来县| 灵璧县| 福泉市| 东港市| 横峰县| 屏山县| 临汾市| 灌南县| 武汉市| 田东县| 西藏| 石景山区| 新昌县| 海城市| 河北区| 和静县|