-
大小: 154KB文件類型: .rar金幣: 2下載: 0 次發(fā)布日期: 2021-05-12
- 語言: Java
- 標簽: EasyRules??動態(tài)規(guī)則??
資源簡介
利用Java的動態(tài)編譯、動態(tài)加載結(jié)合EasyRules實現(xiàn)業(yè)務(wù)規(guī)則的動態(tài)性的項目源碼,具體詳情請查看相關(guān)博客https://blog.csdn.net/qq_31142553/article/details/85013989

代碼片段和文件信息
package?com.hauxsoft.component;
import?java.util.Collection;
import?org.jeasy.rules.api.Facts;
import?org.jeasy.rules.api.Rules;
import?org.jeasy.rules.api.RulesEngine;
import?org.jeasy.rules.core.DefaultRulesEngine;
import?org.springframework.beans.factory.annotation.Autowired;
import?org.springframework.stereotype.Component;
import?com.hauxsoft.utils.baseRule;
import?com.hauxsoft.utils.JavaRuleStorage;
/**
?*?動態(tài)規(guī)則管理器
?*?@author?z_hh??
?*?@date?2018年12月12日
?*/
@Component(“dynamicRuleManager“)
public?class?DynamicRuleManager?{
public?Builder?builder()?{
return?new?Builder(this);
}
????
????public?class?Builder?{
???? private?Rules?rules?=?new?Rules();
???? private?Facts?facts?=?new?Facts();
???? private?RulesEngine?engine?=?new?DefaultRulesEngine();
???? private?JavaRuleStorage?javaRuleStorage;
????
???? public?Builder(DynamicRuleManager?dynamicRuleManager)?{
???? javaRuleStorage?=?dynamicRuleManager.javaRuleStorage;
}
????????
???? /**
???? ?*?設(shè)置參數(shù),該參數(shù)為值傳遞,在規(guī)則里面或者執(zhí)行完之后可以取到
???? ?*?@param?name
???? ?*?@param?value
???? ?*?@return
???? ?*/
????????public?Builder?setParameter(String?name?object?value)?{
???????? facts.put(name?value);
????????????return?this;
????????}
????????
????????/**
?????????*?增加規(guī)則組(將指定所屬分組的所有啟用規(guī)則添加進來)
?????????*?@param?groupName
?????????*?@return
?????????*/
????????public?Builder?addRuleGroup(String?groupName)?{
???????? CollectionseRule>?rs?=?javaRuleStorage.listObjByGroup(groupName);
???????? rs.stream().forEach(rules::register);
???????? return?this;
????????}
????????
????????/**
?????????*?運行規(guī)則引擎
?????????*/
????????public?Builder?run()?{
???????? engine.fire(rules?facts);
???????? return?this;
????????}
????????
????????/**
?????????*?獲取指定參數(shù),并轉(zhuǎn)為指定類型
?????????*?@param?pName
?????????*?@param?pType
?????????*?@return
?????????*/
????????public??T?getParameter(String?pName?Class?pType)?{
???????? return?facts.get(pName);
????????}
????????
????}
????
????@Autowired
????private?JavaRuleStorage?javaRuleStorage;
????
}
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件???????1226??2018-12-05?10:28??xboot-rule\.classpath
?????文件????????268??2018-12-05?09:51??xboot-rule\.gitignore
?????文件??????48337??2018-12-05?09:51??xboot-rule\.mvn\wrapper\maven-wrapper.jar
?????文件????????116??2018-12-05?09:51??xboot-rule\.mvn\wrapper\maven-wrapper.properties
?????文件???????1129??2018-12-05?09:51??xboot-rule\.project
?????文件????????155??2018-12-05?09:51??xboot-rule\.settings\org.eclipse.core.resources.prefs
?????文件????????243??2018-12-05?09:51??xboot-rule\.settings\org.eclipse.jdt.core.prefs
?????文件?????????90??2018-12-05?09:56??xboot-rule\.settings\org.eclipse.m2e.core.prefs
?????文件????????145??2018-12-05?09:51??xboot-rule\.settings\org.eclipse.wst.common.project.facet.core.xm
?????文件????????417??2018-12-05?09:59??xboot-rule\.springBeans
?????文件???????9113??2018-12-05?09:51??xboot-rule\mvnw
?????文件???????5810??2018-12-05?09:51??xboot-rule\mvnw.cmd
?????文件???????1173??2018-12-11?16:02??xboot-rule\pom.xm
?????文件???????2255??2018-12-13?18:20??xboot-rule\src\main\java\com\hauxsoft\component\DynamicRuleManager.java
?????文件????????572??2018-12-12?14:37??xboot-rule\src\main\java\com\hauxsoft\conf\RuleDefaultConf.java
?????文件???????6084??2018-12-14?12:07??xboot-rule\src\main\java\com\hauxsoft\controller\console\JavaRuleController.java
?????文件????????305??2018-12-05?10:14??xboot-rule\src\main\java\com\hauxsoft\dao\JavaRuleDao.java
?????文件????????459??2018-12-05?11:52??xboot-rule\src\main\java\com\hauxsoft\data\CompileResult.java
?????文件???????1850??2018-12-12?17:52??xboot-rule\src\main\java\com\hauxsoft\data\JavaRuleDTO.java
?????文件????????573??2018-12-19?14:51??xboot-rule\src\main\java\com\hauxsoft\demo\rule\DemoRule1.java
?????文件????????852??2018-12-19?14:54??xboot-rule\src\main\java\com\hauxsoft\demo\rule\TestController.java
?????文件???????2400??2018-12-14?11:38??xboot-rule\src\main\java\com\hauxsoft\entity\JavaRuleDO.java
?????文件???????2251??2018-12-14?15:15??xboot-rule\src\main\java\com\hauxsoft\listener\AppRunListener.java
?????文件??????16416??2018-12-14?15:20??xboot-rule\src\main\java\com\hauxsoft\service\impl\JavaRuleServiceImpl.java
?????文件???????2910??2018-12-05?14:44??xboot-rule\src\main\java\com\hauxsoft\service\JavaRuleService.java
?????文件????????799??2018-12-14?11:38??xboot-rule\src\main\java\com\hauxsoft\utils\ba
?????文件??????13723??2018-12-14?11:49??xboot-rule\src\main\java\com\hauxsoft\utils\DynamicRuleUtils.java
?????文件????????955??2018-12-12?15:44??xboot-rule\src\main\java\com\hauxsoft\utils\JavaRuleStorage.java
?????文件???????1209??2018-12-12?15:48??xboot-rule\src\main\java\com\hauxsoft\utils\MapJavaRuleStorage.java
?????文件?????????12??2018-12-05?10:14??xboot-rule\src\main\resources\static\console\module\rule\console.rule.css
............此處省略107個文件信息
評論
共有 條評論