📅  最后修改于: 2023-12-03 15:00:32.292000             🧑  作者: Mango
Drools是一个基于规则的业务逻辑框架,它允许我们使用DSL,Excel,XML等方式定义和组织业务规则。Drools运行时是Drools引擎的核心,它负责解析和执行规则,使它们成为一个强大的业务逻辑引擎。
Drools运行时可以与Java应用程序一起使用,以便在应用程序中执行规则。应用程序可以使用Drools API将规则上传到Drools运行时的知识库中,然后运行规则,查看事实和规则的结果。
在使用Drools之前,我们需要下载Drools引擎。可以从Drools官网下载并解压缩Drools引擎。
Drools在Maven中有许多依赖项,需要添加以下依赖项:
<dependencies>
<dependency>
<groupId>org.drools</groupId>
<artifactId>drools-core</artifactId>
<version>7.51.0.Final</version>
</dependency>
<dependency>
<groupId>org.drools</groupId>
<artifactId>drools-decisiontables</artifactId>
<version>7.51.0.Final</version>
</dependency>
</dependencies>
在使用Drools之前,需要建立运行时,如下所示:
KieServices kieServices = KieServices.Factory.get();
KieFileSystem kfs = kieServices.newKieFileSystem();
KieRepository kieRepository = kieServices.getRepository();
kfs.write(ResourceFactory.newClassPathResource("rules.drl"));
KieBuilder kieBuilder = kieServices.newKieBuilder(kfs).buildAll();
if (kieBuilder.getResults().hasMessages(Message.Level.ERROR)) {
throw new RuntimeException("Build Errors:\n" + kieBuilder.getResults().toString());
}
KieContainer kieContainer = kieServices.newKieContainer(kieRepository.getDefaultReleaseId());
KieBase kieBase = kieContainer.getKieBase();
通过Drools运行时,我们可以方便地管理业务规则,执行规则和获取规则的结果。它是一个适用于许多业务场景的强大的业务逻辑引擎。