java - Drools 6.5 是否已弃用与 Spring 框架的集成?

标签 java spring drools

我无法使用 spring 和 drools 集成,因为在 xml 中我收到验证错误

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context"
xmlns:tx="http://www.springframework.org/schema/tx"
xmlns:kie="http://drools.org/schema/kie-spring"
xsi:schemaLocation="
     http://www.springframework.org/schema/beans      http://www.springframework.org/schema/beans/spring-beans.xsd
     http://www.springframework.org/schema/context    http://www.springframework.org/schema/context/spring-context.xsd
     http://www.springframework.org/schema/tx         http://www.springframework.org/schema/tx/spring-tx-3.1.xsd
     http://drools.org/schema/kie-spring              classpath:org/kie/spring/kie-spring-6.0.0.xsd">

或使用时

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context"
xmlns:tx="http://www.springframework.org/schema/tx"
xmlns:kie="http://drools.org/schema/kie-spring"
xsi:schemaLocation="
     http://www.springframework.org/schema/beans      http://www.springframework.org/schema/beans/spring-beans.xsd
     http://www.springframework.org/schema/context    http://www.springframework.org/schema/context/spring-context.xsd
     http://www.springframework.org/schema/tx         http://www.springframework.org/schema/tx/spring-tx-3.1.xsd
     http://drools.org/schema/kie-spring              http://drools.org/schema/kie-spring.xsd">

我的路径中有 spring drools 集成 jar:(内部包含位于 org/kie/spring/kie-spring-6.0.0.xsd 的 xsd)

    <dependency>
        <groupId>org.kie</groupId>
        <artifactId>kie-spring</artifactId>
        <version>${kie.version}</version>
    </dependency>

但是我在 http://drools.org/schema/kie-spring.xsd 处没有看到这个 xml 知道如何解决这个问题吗?

最佳答案

你能测试 Drools 6.5.0.Final 版本吗?我能够将 Drools 与 Spring Boot 集成,但说实话,配置也花了我一些功夫。

请查找以下附加提示:

1)我需要的唯一依赖项如下:

<!-- Drules Rules Engine -->
<dependency>
    <groupId>org.kie</groupId>
    <artifactId>kie-ci</artifactId>
    <version>${kie.version}</version>
</dependency>

2) 请阅读教程https://scattercode.co.uk/2015/02/06/a-minimal-spring-boot-drools-web-service/除了 kmodule.xml 和规则文件之外,您不需要任何其他配置。

3)我通过以下方式创建了 RuleService 和 kieContainer:

@Service
public class AdDecisionEngineRuleService {

    @Autowired
    public AdDecisionEngineRuleService() {
        LOGGER.info(">>>Initialising our KieContainer.");
        KieServices kieServices = KieServices.Factory.get();
        kieContainer = kieServices.getKieClasspathContainer();
    } 

如果您仍然一筹莫展,请再次 Ping 我,或者如果这有帮助,请投票支持我的答案。

关于java - Drools 6.5 是否已弃用与 Spring 框架的集成?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43408977/

相关文章:

java - Mockito 不识别类

不同端口上的spring boot 2.1.0管理服务器端口

java - Drools 规则引擎验证服务 KnowledgeBuilder 初始化错误

java - 从 Java 调用 Kotlin — 错误 : package demo does not exist

java - 在 WHERE 语句中使用未在 Hibernate 中映射的列?

java - Spring Boot 最新 1.2.0.RELEASE 在启动时返回 ArrayStoreException

hibernate - 为什么 Spring HibernateTemplate loadAll() 方法会为每一行生成更新?

rules - Drools Fusion 是否有 "now"的概念?

java - 在流口水中使用 LHS 的辅助方法

java - IBM Domino Java - 优化 $(Rooms) View 上特定 Internet 地址的搜索