package com.secbro.config;
import org.kie.api.KieBase;
import org.kie.api.KieServices;
import org.kie.api.builder.*;
import org.kie.api.runtime.KieContainer;
import org.kie.api.runtime.KieSession;
import org.kie.internal.io.ResourceFactory;
import org.kie.spring.KModuleBeanFactoryPostProcessor;
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.core.io.Resource;
import org.springframework.core.io.support.PathMatchingResourcePatternResolver;
import org.springframework.core.io.support.ResourcePatternResolver;
import java.io.IOException;
/**
* 你的支持是我努力的最大动力!社区的建立离不开你的支持。
* 此系列课程正在持续更新中,相关讨论QQ(593177274)已经建立,欢迎大家加入讨论。
* 如有疑问可以留言也可以发送本人邮箱secbro2@gmail.com。
*/
@Configuration
public class DroolsAutoConfiguration {
private static final String RULES_PATH = "rules/";
@Bean
@ConditionalOnMissingBean(KieFileSystem.class)
public KieFileSystem kieFileSystem() throws IOException {
KieFileSystem kieFileSystem = getKieServices().newKieFileSystem();
for (Resource file : getRuleFiles()) {
kieFileSystem.write(ResourceFactory.newClassPathResource(RULES_PATH + file.getFilename(), "UTF-8"));
}
return kieFileSystem;
}
private Resource[] getRuleFiles() throws IOException {
ResourcePatternResolver resourcePatternResolver = new PathMatchingResourcePatternResolver();
return resourcePatternResolver.getResources("classpath*:" + RULES_PATH + "**/*.*");
}
@Bean
@ConditionalOnMissingBean(KieContainer.class)
public KieContainer kieContainer() throws IOException {
final KieRepository kieRepository = getKieServices().getRepository();
kieRepository.addKieModule(new KieModule() {
public ReleaseId getReleaseId() {
return kieRepository.getDefaultReleaseId();
}
});
KieBuilder kieBuilder = getKieServices().newKieBuilder(kieFileSystem());
kieBuilder.buildAll();
return getKieServices().newKieContainer(kieRepository.getDefaultReleaseId());
}
private KieServices getKieServices() {
return KieServices.Factory.get();
}
@Bean
@ConditionalOnMissingBean(KieBase.class)
public KieBase kieBase() throws IOException {
return kieContainer().getKieBase();
}
@Bean
@ConditionalOnMissingBean(KieSession.class)
public KieSession kieSession() throws IOException {
return kieContainer().newKieSession();
}
@Bean
@ConditionalOnMissingBean(KModuleBeanFactoryPostProcessor.class)
public KModuleBeanFactoryPostProcessor kiePostProcessor() {
return new KModuleBeanFactoryPostProcessor();
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
drools集成springboot demo
共84个文件
xml:61个
class:7个
java:6个
5星 · 超过95%的资源 需积分: 41 341 下载量 93 浏览量
2017-07-18
16:04:55
上传
评论 6
收藏 102KB ZIP 举报
温馨提示
drools集成springboot demo
资源推荐
资源详情
资源评论
收起资源包目录
spring-boot-drools.zip (84个子文件)
spring-boot-drools
.gitignore 249B
.mvn
wrapper
maven-wrapper.jar 46KB
maven-wrapper.properties 110B
src
main
resources
templates
static
application.properties 0B
rules
address.drl 430B
java
com
secbro
controller
TestController.java 1KB
model
fact
AddressCheckResult.java 652B
Address.java 814B
Order.java 743B
config
DroolsAutoConfiguration.java 3KB
SpringBootDroolsApplication.java 604B
test
java
mvnw 6KB
pom.xml 3KB
mvnw.cmd 5KB
target
classes
com
secbro
controller
TestController.class 2KB
model
fact
AddressCheckResult.class 560B
Order.class 750B
Address.class 915B
config
DroolsAutoConfiguration.class 4KB
DroolsAutoConfiguration$1.class 977B
SpringBootDroolsApplication.class 728B
application.properties 0B
rules
address.drl 406B
generated-test-sources
test-annotations
generated-sources
annotations
test-classes
.idea
misc.xml 872B
encodings.xml 172B
libraries
Maven__org_slf4j_jcl_over_slf4j_1_7_25.xml 548B
Maven__org_apache_commons_commons_lang3_3_4.xml 556B
Maven__com_github_virtuald_curvesapi_1_04.xml 539B
Maven__org_springframework_boot_spring_boot_starter_logging_1_5_4_RELEASE.xml 748B
Maven__org_kie_kie_spring_7_0_0_Final.xml 547B
Maven__org_springframework_boot_spring_boot_starter_web_1_5_4_RELEASE.xml 720B
Maven__org_springframework_spring_core_4_3_9_RELEASE.xml 616B
Maven__org_springframework_spring_expression_4_3_9_RELEASE.xml 658B
Maven__org_springframework_boot_spring_boot_starter_1_5_4_RELEASE.xml 692B
Maven__org_apache_xmlbeans_xmlbeans_2_6_0.xml 539B
Maven__org_drools_drools_core_7_0_0_Final.xml 566B
Maven__com_fasterxml_classmate_1_3_3.xml 522B
Maven__com_fasterxml_jackson_core_jackson_databind_2_8_8.xml 623B
Maven__org_springframework_spring_aop_4_3_9_RELEASE.xml 609B
Maven__ch_qos_logback_logback_classic_1_1_11.xml 575B
Maven__org_springframework_spring_context_4_3_9_RELEASE.xml 637B
Maven__org_mvel_mvel2_2_3_0_Final.xml 516B
Maven__org_springframework_boot_spring_boot_starter_tomcat_1_5_4_RELEASE.xml 741B
Maven__org_drools_drools_decisiontables_7_0_0_Final.xml 636B
Maven__xpp3_xpp3_min_1_1_4c.xml 486B
Maven__org_apache_tomcat_embed_tomcat_embed_el_8_5_15.xml 611B
Maven__commons_codec_commons_codec_1_10.xml 543B
Maven__org_jboss_logging_jboss_logging_3_3_1_Final.xml 608B
Maven__org_apache_poi_poi_ooxml_3_15.xml 519B
Maven__org_springframework_spring_webmvc_4_3_9_RELEASE.xml 630B
Maven__org_apache_commons_commons_collections4_4_1.xml 605B
Maven__org_springframework_spring_web_4_3_9_RELEASE.xml 609B
Maven__org_kie_kie_api_7_0_0_Final.xml 526B
Maven__com_fasterxml_jackson_core_jackson_core_2_8_8.xml 595B
Maven__xmlpull_xmlpull_1_1_3_1.xml 498B
Maven__com_thoughtworks_xstream_xstream_1_4_9.xml 552B
Maven__org_antlr_antlr_runtime_3_5.xml 520B
Maven__org_yaml_snakeyaml_1_17.xml 495B
Maven__org_springframework_spring_beans_4_3_9_RELEASE.xml 623B
Maven__org_slf4j_log4j_over_slf4j_1_7_25.xml 562B
Maven__org_drools_drools_templates_7_0_0_Final.xml 601B
Maven__org_slf4j_slf4j_api_1_7_25.xml 513B
Maven__org_eclipse_jdt_core_compiler_ecj_4_4_2.xml 544B
Maven__org_slf4j_jul_to_slf4j_1_7_25.xml 534B
Maven__ch_qos_logback_logback_core_1_1_11.xml 554B
Maven__org_drools_drools_compiler_7_0_0_Final.xml 594B
Maven__javax_validation_validation_api_1_1_0_Final.xml 611B
Maven__org_kie_kie_dmn_api_7_0_0_Final.xml 554B
Maven__org_apache_tomcat_embed_tomcat_embed_core_8_5_15.xml 625B
Maven__org_apache_poi_poi_ooxml_schemas_3_15.xml 575B
Maven__org_apache_poi_poi_3_15.xml 477B
Maven__com_fasterxml_jackson_core_jackson_annotations_2_8_0.xml 644B
Maven__org_springframework_boot_spring_boot_1_5_4_RELEASE.xml 636B
Maven__com_google_protobuf_protobuf_java_2_6_0.xml 574B
Maven__org_hibernate_hibernate_validator_5_3_5_Final.xml 634B
Maven__org_kie_kie_internal_7_0_0_Final.xml 561B
Maven__org_springframework_boot_spring_boot_autoconfigure_1_5_4_RELEASE.xml 734B
Maven__org_apache_tomcat_embed_tomcat_embed_websocket_8_5_15.xml 660B
Maven__org_jbpm_jbpm_flow_7_0_0_Final.xml 544B
workspace.xml 53KB
uiDesigner.xml 9KB
compiler.xml 661B
modules.xml 276B
spring-boot-drools.iml 6KB
共 84 条
- 1
程序新视界
- 粉丝: 2w+
- 资源: 10
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
- 1
- 2
- 3
- 4
前往页