常見問題
知識包服務“不生(shēng)效”
一般這種情況是快速測試,規則計(jì)算(suàn)正常,但(dàn)調用知識包服務規則計(jì)算(suàn)結果與快速測試結果不一緻。
需要檢查如下幾方面:
- 調用的知識包服務傳參是否與快速測試一緻
- 調用的知識包服務地址是否與快速測試一緻
- 知識包是否未發布新版本,或者發布後未在【查看當前已發布知識包版本】中将最新發布的版本啓用
The object【xxx】does not exist or is not initialized
當調用規則計(jì)算(suàn)時(shí),遇到變量對象不存在或者未初始化異常時(shí),說明(míng)當前規則計(jì)算(suàn)內(nèi)存中找不到xxx變量對應的實例對象,此時(shí)我們可(kě)以以下幾種方法解決:
第一種:通(tōng)過觸發規則時(shí)傳入變量實例對象。
快速測試時(shí),在輸入數(shù)據中添加變量對象。
- Java API調用規則時(shí),通(tōng)過
session.insert(xxx)
。 Rest 調用時(shí),在請(qǐng)求的數(shù)據中添加變量對象
第二種:可(kě)以在參數(shù)庫中定義一個(gè)變量類型的參數(shù)。比如:定義一個(gè)參數(shù)叫【新用戶】,類型設置為(wèi)【用戶】變量,在規則編輯時(shí),【對象實例化】方法賦值給【新用戶】這個(gè)參數(shù),後續使用參數(shù)進行(xíng)規則操作(zuò)即可(kě)。
【對象實例化】方法中的完整類路徑指的是,實例化變量的類路徑屬性填的字符串。
Permission denied for project [601]
一般打開(kāi)頁面時(shí)報“Permission denied for project [601]”提示,說明(míng)你(nǐ)沒有(yǒu)當前頁面的權限。
還(hái)有(yǒu)一種情況是,當編輯一個(gè)文件,長時(shí)間(jiān)沒有(yǒu)保存,登錄過期也會(huì)彈出這個(gè)提示。
這個(gè)時(shí)候一定要注意,不要整個(gè)刷新或關閉當前頁面,因為(wèi)如果之前沒保存,重新打開(kāi)後,将丢掉未保存部分。
正确的操作(zuò)是:
- 在當前浏覽器(qì)打開(kāi)一個(gè)新的浏覽器(qì)标簽頁,重新登錄URule
- 登錄成功後,會(huì)到之前提示“Permission denied for project [601]”的頁面進行(xíng)保存即可(kě)。
規則設計(jì)界面的左側菜單樹(shù)加載比較慢
可(kě)找到URule Pro4的數(shù)據庫的URULEFILE表,分别給NAME、PROJECTID、PACKAGEID、TYPE_字段加上(shàng)索引。
業務系統調用知識包計(jì)算(suàn)結果與快速測試的結果不一緻
首先,需要清楚快速測試計(jì)算(suàn)與調用知識包計(jì)算(suàn)的區(qū)别:
- 快速測試計(jì)算(suàn)是用當前規則文件進行(xíng)編譯計(jì)算(suàn),可(kě)以立即查看規則修改後的計(jì)算(suàn)結果。
- Java Api或Rest Api調用知識包是拿(ná)發布知識包時(shí)的規則文件編譯好的版本進行(xíng)計(jì)算(suàn)。
所以當出現快速測試結果和(hé)Api調用知識包計(jì)算(suàn)結果不一緻時(shí),可(kě)通(tōng)過如下步驟依次排查解決:
先确認兩種方式的入參是否一緻,
- 這裏需要注意的是入參Rest請(qǐng)求數(shù)據格式變量結構體(tǐ)和(hé)參數(shù)結構如下:
可(kě)參考 Rest配置與調用.[{ "name": "變量名稱", "fields": { "id": "", "age": 0 }, "class": "xxx.xxx.xxxx" }, { "name": "參數(shù)", "fields": { "param1": "" }, "class": "java.util.HashMap" }]
- 如果是java api調用的話(huà)入參傳參 可(kě)參考 java調用知識包 和(hé) 可(kě)參考 GeneralEntity的使用. .
- 這裏需要注意的是入參Rest請(qǐng)求數(shù)據格式變量結構體(tǐ)和(hé)參數(shù)結構如下:
檢查知識包版本是否啓用最新的版本,或者重新發布知識包版本并啓用最新版本。另外,如果用的是客戶端模式,可(kě)以重啓一下客戶端,防止知識包未重新拉取。
- 再根據輸出的計(jì)算(suàn)執行(xíng)日志(zhì)排查,Java Api調用知識包的日志(zhì)輸出配置具體(tǐ)可(kě)以參照 調試信息輸出.