IT科技

當前位置 /首頁/IT科技 > /列表

drools,java

<link rel="stylesheet" href="https://js.how234.com/third-party/SyntaxHighlighter/shCoreDefault.css" type="text/css" /><script type="text/javascript" src="https://js.how234.com/third-party/SyntaxHighlighter/shCore.js"></script><script type="text/javascript"> SyntaxHighlighter.all(); </script>

java drools是什麼,讓我們一起了解一下:

Drools是為Java量身定製的基於Charles Forgy的RETE算法的規則引擎的實現,具有了OO接口的RETE,使得商業規則有了更自然的表達。而且用XML節點來規範If--Then句式和事實的定義,使引擎幹起活來更方便。

drools的基本工作過程是什麼?

通常而言我們使用一個接口來做事情,首先要穿進去參數,其次要獲取到接口的實現執行完畢後的結果,而drools也是一樣的,我們需要傳遞進去數據,用於規則的檢查,調用外部接口,同時還可能需要獲取到規則執行完畢後得到的結果。

java drools

在drools中,這個傳遞數據進去的對象,術語叫 Fact對象。Fact對象是一個普通的java bean,規則中可以對當前的對象進行任何的讀寫操作,調用該對象提供的方法,當一個java bean插入到workingMemory中,規則使用的是原有對象的引用,規則通過對fact對象的讀寫,實現對應用數據的讀寫,對於其中的屬性,需要提供getter setter訪問器,規則中,可以動態的往當前workingMemory中插入刪除新的fact對象。

規則文件可以使用 .drl文件,也可以是xml文件,這裏我們使用drl文件。

具體案例分析如下:

<!-- drools -->        <dependency>            <groupId>org.kie</groupId>            <artifactId>kie-api</artifactId>            <version>7.11.0.Final</version>        </dependency>        <dependency>            <groupId>org.slf4j</groupId>            <artifactId>slf4j-nop</artifactId>            <version>1.7.6</version>        </dependency>        <dependency>            <groupId>org.kie</groupId>            <artifactId>kie-ci</artifactId>            <version>7.11.0.Final</version>        </dependency>        <!-- workbench打包好的jar -->        <dependency>            <groupId>com.myspace</groupId>            <artifactId>ljlTest</artifactId>            <version>1.0.0</version>        </dependency>        <dependency> <groupId>com.thoughtworks.xstream</groupId> <artifactId>xstream</artifactId> <version>1.4.10</version> </dependency>

TAG標籤:java drools #