常見問題

知識包服務(wù)“不生效”

一般這種情況是快速測試,規則計算正常,但調用(yòng)知識包服務(wù)規則計算結果與快速測試結果不一緻。

需要檢查如下幾方面:

  • 調用(yòng)的知識包服務(wù)傳參是否與快速測試一緻
  • 調用(yòng)的知識包服務(wù)地址是否與快速測試一緻
  • 知識包是否未發布新(xīn)版本,或者發布後未在【查看當前已發布知識包版本】中(zhōng)将最新(xīn)發布的版本啓用(yòng)

The object【xxx】does not exist or is not initialized

當調用(yòng)規則計算時,遇到變量對象不存在或者未初始化異常時,說明當前規則計算内存中(zhōng)找不到xxx變量對應的實例對象,此時我們可(kě)以以下幾種方法解決:

第一種:通過觸發規則時傳入變量實例對象。

  • 快速測試時,在輸入數據中(zhōng)添加變量對象。

    img

  • Java API調用(yòng)規則時,通過 session.insert(xxx)
  • Rest 調用(yòng)時,在請求的數據中(zhōng)添加變量對象

    image-20220705142448090

第二種:可(kě)以在參數庫中(zhōng)定義一個變量類型的參數。比如:定義一個參數叫【新(xīn)用(yòng)戶】,類型設置為(wèi)【用(yòng)戶】變量,在規則編輯時,【對象實例化】方法賦值給【新(xīn)用(yòng)戶】這個參數,後續使用(yòng)參數進行規則操作(zuò)即可(kě)。

【對象實例化】方法中(zhōng)的完整類路徑指的是,實例化變量的類路徑屬性填的字符串。

image-20220705142448090

Permission denied for project [601]

一般打開頁(yè)面時報“Permission denied for project [601]”提示,說明你沒有(yǒu)當前頁(yè)面的權限。

還有(yǒu)一種情況是,當編輯一個文(wén)件,長(cháng)時間沒有(yǒu)保存,登錄過期也會彈出這個提示。

img

這個時候一定要注意,不要整個刷新(xīn)或關閉當前頁(yè)面,因為(wèi)如果之前沒保存,重新(xīn)打開後,将丢掉未保存部分(fēn)。

正确的操作(zuò)是:

  1. 在當前浏覽器打開一個新(xīn)的浏覽器标簽頁(yè),重新(xīn)登錄URule
  2. 登錄成功後,會到之前提示“Permission denied for project [601]”的頁(yè)面進行保存即可(kě)。

規則設計界面的左側菜單樹加載比較慢

可(kě)找到URule Pro4的數據庫的URULEFILE表,分(fēn)别給NAME、PROJECTID、PACKAGEID、TYPE_字段加上索引。

業務(wù)系統調用(yòng)知識包計算結果與快速測試的結果不一緻

首先,需要清楚快速測試計算與調用(yòng)知識包計算的區(qū)别:

  • 快速測試計算是用(yòng)當前規則文(wén)件進行編譯計算,可(kě)以立即查看規則修改後的計算結果。
  • Java Api或Rest Api調用(yòng)知識包是拿(ná)發布知識包時的規則文(wén)件編譯好的版本進行計算。

所以當出現快速測試結果和Api調用(yòng)知識包計算結果不一緻時,可(kě)通過如下步驟依次排查解決:

  1. 先确認兩種方式的入參是否一緻,

    1. 這裏需要注意的是入參Rest請求數據格式變量結構體(tǐ)和參數結構如下:
      [{
        "name": "變量名(míng)稱",
        "fields": {
            "id": "",
            "age": 0
        },
        "class": "xxx.xxx.xxxx"
      },
      {
        "name": "參數",
        "fields": {
            "param1": ""
        },
        "class": "java.util.HashMap"
      }]
      
      可(kě)參考 Rest配置與調用(yòng).
    2. 如果是java api調用(yòng)的話入參傳參 可(kě)參考 java調用(yòng)知識包 和 可(kě)參考 GeneralEntity的使用(yòng). .
  2. 檢查知識包版本是否啓用(yòng)最新(xīn)的版本,或者重新(xīn)發布知識包版本并啓用(yòng)最新(xīn)版本。另外,如果用(yòng)的是客戶端模式,可(kě)以重啓一下客戶端,防止知識包未重新(xīn)拉取。

  3. 再根據輸出的計算執行日志(zhì)排查,Java Api調用(yòng)知識包的日志(zhì)輸出配置具(jù)體(tǐ)可(kě)以參照 調試信息輸出.

results matching ""

    No results matching ""