日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Drools WorkBench的简介与使用

發布時間:2024/1/1 编程问答 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Drools WorkBench的简介与使用 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

目錄

WorkBench簡介

配置 Tomcat

啟動服務器

WorkBench使用

創建空間、項目

創建數據對象和drl文件

設置KieBase+KieSession

代碼使用


WorkBench簡介

WorkBench是KIE組件中的元素,也稱為KIE-WB,是Drools-WB與JBPM-WB的結合體。它是一個可視化的規則編輯器。WorkBench其實就是一個war包。

WorkBench經過幾次版本迭代,已經不提供tomcat啟動的war包,綜合考慮,本課程仍然采用 tomcat版本作為演示。

環境:

apache-tomcat-9.0.29

kie-drools-wb-7.6.0.Final-tomcat8 下載地址:Drools - Download

說明:

準備jar包:需要放到tomcat lib中,否則啟動失敗

具體安裝步驟:

配置 Tomcat

1.修改tomcat-user.xml,添加用戶

<?xml version="1.0" encoding="UTF-8"?> <tomcat-users xmlns="http://tomcat.apache.org/xml"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://tomcat.apache.org/xml tomcat-users.xsd"version="1.0"><!--定義admin角色--><role rolename="admin"/><!--定義一個用戶,用戶名為kie,密碼為kie,對應的角色為admin角色--><user username="kie-web" password="kie-web123" roles="admin"/><user username="admin" password="admin" roles="manager-gui,manager-script,manager-jmx,manager-status"/> </tomcat-users>

此賬號密碼用于登錄WorkBench管理控制臺

2.修改server.xml

<Host name="localhost" appBase="webapps"unpackWARs="true" autoDeploy="true"><!-- SingleSignOn valve, share authentication between web applicationsDocumentation at: /docs/config/valve.html --><!--<Valve className="org.apache.catalina.authenticator.SingleSignOn" />--><!-- Access log processes all example.Documentation at: /docs/config/valve.htmlNote: The pattern used is equivalent to using pattern="common" --><Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"prefix="localhost_access_log" suffix=".txt"pattern="%h %l %u %t &quot;%r&quot; %s %b" /><Valve className="org.kie.integration.tomcat.JACCValve"/></Host>

host節點下添加<Valve className="org.kie.integration.tomcat.JACCValve"/>

3.復制jar到tomcat根目錄的lib下面:

kie-tomcat-integration-7.10.0.Final.jar javax.security.jacc-api-1.5.jar slf4j-api-1.7.25.jar

4.復制 kie-drools-wb-7.6.0.Final-tomcat8.war 到tomcat ?webapp下面并修改成kie-web.war

啟動服務器

啟動tomcat

訪問http://localhost:8080/kie-web,可以看到WorkBench的登錄頁面。使用前面創建的kie-web/kie-web123登錄

WorkBench使用

創建空間、項目

首頁中點擊 project,創建空間

?

我們創建一個 mashibing 的工作空間。點擊 Save,保存。

點擊工作空間當中的 mashibing,進入空間

?

點擊Add Project添加項目

成功后,我們可以看見下圖

?

左上角的導航條,可以在空間和project之間切換

創建數據對象和drl文件

切換到pro1項目內,點擊 Create New Assert

?

選中數據對象:?

輸入Order,點擊確定,成功后跳轉如下頁面?

Order相當于我們代碼中的實體類,在左側 Project Explorer視圖中,可以看見項目結構

接下來添加字段,點擊添加字段按鈕:?

ID 位置,輸入java bean的字段,標簽是備注信息,類型選擇對應的字段類型,保存,點擊創建,關閉彈窗,點擊創建并繼續,可以繼續創建。?

點擊右上角的保存,至此,一個數據對象我們就創建完成,可以在源代碼中查看代碼內容。

接下來我們創建一個drl文件,創建過程跟創建bean類似,drl文件內容如下

package com.mashibing.pro1;rule "rule_1"when$order:Order(age > 10)thenSystem.out.print("rule run..."); end

設置KieBase+KieSession

項目首頁點擊Settings

選擇知識庫跟會話?

彈出窗口,輸入Kiebase名稱即可,我們以kb1為例?

操作完成后,不要忘記保存,此時,我們可在Project Explorer視圖中,resource/METAINF/kmodule.xml中看見如下信息?

<kmodule xmlns="http://www.drools.org/xsd/kmodule" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><kbase name="kb1" default="false" eventProcessingMode="stream" equalsBehavior="identity" packages="com.mashibing.pro1"><ksession name="ks1" type="stateful" default="true" clockType="realtime"/></kbase> </kmodule>

導航回到項目首頁,進行編譯發布

發布成功后,我們可以在maven倉庫中看到對應的jar

也可以訪問:http://localhost:8080/kie-web/maven2/com/mashibing/pro1/1.0.0/pro1-1.0.0.jar 驗證是否發布成功

代碼使用

@Testpublic void test() throws Exception{//通過此URL可以訪問到maven倉庫中的jar包//URL地址構成:http://ip地址:Tomcat端口號/WorkBench工程名/maven2/坐標/版本號/xxx.jarString url = "http://localhost:8080/kie-web/maven2/com/mashibing/pro1/1.0.0/pro1-1.0.0.jar";KieServices kieServices = KieServices.Factory.get();UrlResource resource = (UrlResource) kieServices.getResources().newUrlResource(url);//認證resource.setUsername("kie-web");resource.setPassword("kie-web123");resource.setBasicAuthentication("enabled");KieRepository repository = kieServices.getRepository();//通過輸入流讀取maven倉庫中的jar包數據,包裝成KieModule模塊添加到倉庫中KieModule kieModule = repository.addKieModule(kieServices.getResources().newInputStreamResource(resource.getInputStream()));KieContainer kieContainer = kieServices.newKieContainer(kieModule.getReleaseId());KieSession session = kieContainer.newKieSession();Order order = new Order();order.setName("張三");order.setAge(30);session.insert(order);session.fireAllRules();session.dispose();}

我們用URL流的方式,獲取jar資源,并構造kiesession對象,即可動態訪問workbench中的規則

總結

以上是生活随笔為你收集整理的Drools WorkBench的简介与使用的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。