Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Kie扫描仪在Drools 6.1中不工作_Java_Xml_Maven_Drools_Drools Guvnor - Fatal编程技术网

Java Kie扫描仪在Drools 6.1中不工作

Java Kie扫描仪在Drools 6.1中不工作,java,xml,maven,drools,drools-guvnor,Java,Xml,Maven,Drools,Drools Guvnor,我们有一个使用Drools规则集的Java应用程序。我们正在使用Drools 6.1 这些规则在工作台存储库中可用。我们希望在使用Workbench更改规则集时看到结果中的更改。所以,在我们的java代码中,我们添加了Kiescanner模块,该模块定期检查这台机器,但我们无法成功 我们的Java代码 package com.sample; import org.drools.compiler.kproject.ReleaseIdImpl; import org.kie.api.KieBase

我们有一个使用Drools规则集的Java应用程序。我们正在使用Drools 6.1

这些规则在工作台存储库中可用。我们希望在使用Workbench更改规则集时看到结果中的更改。所以,在我们的java代码中,我们添加了Kiescanner模块,该模块定期检查这台机器,但我们无法成功

我们的Java代码

package com.sample;

import org.drools.compiler.kproject.ReleaseIdImpl;
import org.kie.api.KieBase;
import org.kie.api.KieServices;
import org.kie.api.builder.KieScanner;
import org.kie.api.runtime.KieContainer;
import org.kie.api.runtime.KieSession;

import com.drools.project1.inputs;

/**
 * This is a sample class to launch a rule.
 */
public class DroolsTest {

public static final void main(String[] args) {

    try {
        KieServices ks = KieServices.Factory.get();

        ReleaseIdImpl releaseId = new ReleaseIdImpl("com.drools",
                "project1", "LATEST");

        KieContainer kieContainer = ks.newKieContainer(releaseId);

        KieScanner kieScanner = ks.newKieScanner(kieContainer);
        kieScanner.start(1000L);

        while (true) {

            KieBase kBase = kieContainer.getKieBase();

            KieSession kSession = kBase.newKieSession();

            inputs types = new inputs();

            types.setNum1(50);
            kSession.insert(types);
            kSession.fireAllRules();
            kSession.destroy();

            Thread.sleep(1000);
            System.out.println("getNum2 = " + types.getNum2());

        }

    } catch (Throwable t) {
        t.printStackTrace();

        System.err.println(t);
        System.err.println("Cause = " + t.getCause());
    }
}
}
我们按照以下方式创建了pom.xml和settings.xml文件

pom.xml

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">

<modelVersion>4.0.0</modelVersion>

<groupId>com.sample</groupId>
<artifactId>DroolsMaven</artifactId>
<version>1.0.0-SNAPSHOT</version>

<name>Drools :: Sample Maven Project</name>
<description>A sample Drools Maven project</description>

<distributionManagement>
    <repository>
        <id>drools</id>
        <name>Internal Releases</name>
        <url>http://foo.com/kie-drools-wb-distribution/maven2</url>
    </repository>
</distributionManagement>

<dependencies>

    <!-- CDI dependencies -->
    <!-- END -->

    <dependency>
        <groupId>axis</groupId>
        <artifactId>axis</artifactId>
        <version>1.4</version>
        <type>jar</type>
        <scope>compile</scope>
    </dependency>
    <dependency>
        <groupId>org.kie</groupId>
        <artifactId>kie-ci</artifactId>
        <version>6.1.0.Final</version>
    </dependency>
    <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-simple</artifactId>
        <version>1.7.4</version>
    </dependency>
    <dependency>
        <groupId>javax.xml.parsers</groupId>
        <artifactId>jaxp-api</artifactId>
        <version>1.4.5</version>
        <type>jar</type>
        <scope>compile</scope>
    </dependency>
    <dependency>
        <groupId>com.sun.org.apache</groupId>
        <artifactId>jaxp-ri</artifactId>
        <version>1.4</version>
        <type>jar</type>
        <scope>compile</scope>
    </dependency>
    <dependency>
        <groupId>javax.xml.soap</groupId>
        <artifactId>javax.xml.soap-api</artifactId>
        <version>1.3.6</version>
        <type>jar</type>
        <scope>compile</scope>
    </dependency>
    <dependency>
        <groupId>xerces</groupId>
        <artifactId>xerces</artifactId>
        <version>2.4.0</version>
    </dependency>
    <dependency>
        <groupId>org.glassfish</groupId>
        <artifactId>javax.xml.rpc</artifactId>
        <version>3.1.1</version>
        <type>jar</type>
        <scope>compile</scope>
    </dependency>
    <dependency>
        <groupId>org.apache.commons</groupId>
        <artifactId>commons-lang3</artifactId>
        <version>3.3.2</version>
    </dependency>
    <dependency>
        <groupId>commons-discovery</groupId>
        <artifactId>commons-discovery</artifactId>
        <version>0.4</version>
    </dependency>
    <dependency>
        <groupId>javax.mail</groupId>
        <artifactId>mail</artifactId>
        <version>1.4.5</version>
        <type>jar</type>
        <scope>compile</scope>
    </dependency>
    <dependency>
        <groupId>javax.activation</groupId>
        <artifactId>activation</artifactId>
        <version>1.1.1</version>
        <type>jar</type>
        <scope>compile</scope>
    </dependency>
    <dependency>
        <groupId>com.drools</groupId>
        <artifactId>project1</artifactId>
        <version>1.0</version>
        <scope>system</scope>
        <systemPath>${project.basedir}/src/main/webapp/WEB-INF/lib/project1-1.0.jar</systemPath>
    </dependency>
</dependencies>


<repositories>
    <repository>
        <id>my-local-repo</id>
        <url>file://${project.basedir}/src/main/webapp/WEB-INF/lib</url>
    </repository>
</repositories>

<build>
    <extensions>
        <extension>
            <groupId>org.apache.maven.wagon</groupId>
            <artifactId>wagon-ssh</artifactId>
            <version>2.4</version>
        </extension>
    </extensions>


    <finalName>NAME_OF_THE_GENERATED_WAR</finalName>
    <plugins>

        <plugin>
            <groupId>org.kie</groupId>
            <artifactId>kie-maven-plugin</artifactId>
            <version>6.1.0.Final</version>
            <extensions>true</extensions>
        </plugin>

        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <configuration>
                <project>
                    1.6
                </project>
                <source>1.6</source>
                <target>1.6</target>
                <encoding>Cp1254</encoding>
            </configuration>
        </plugin>

        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-javadoc-plugin</artifactId>
            <configuration>
                <encoding>Cp1254</encoding>
            </configuration>
        </plugin>

        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-war-plugin</artifactId>
            <configuration>
                <outputDirectory>${basedir}/target/generatedWAR</outputDirectory>
                <tasks>
                    <echo>Echo : This is maven-war-plugin</echo>
                </tasks>
            </configuration>
        </plugin>
    </plugins>
</build>

</project>

4.0.0
com.sample
德洛斯马文
1.0.0-SNAPSHOT
Drools::示例Maven项目
Drools Maven项目示例
流口水
内部释放
http://foo.com/kie-drools-wb-distribution/maven2
轴
轴
1.4
罐子
编译
org.kie
基茨
6.1.0.1最终版本
org.slf4j
slf4j简单
1.7.4
javax.xml.parsers
jaxp api
1.4.5
罐子
编译
com.sun.org.apache
jaxp-ri
1.4
罐子
编译
javax.xml.soap
javax.xml.soap-api
1.3.6
罐子
编译
薛西斯
薛西斯
2.4.0
玻璃鱼
javax.xml.rpc
3.1.1
罐子
编译
org.apache.commons
commons-lang3
3.3.2
公地发现
公地发现
0.4
javax.mail
邮件
1.4.5
罐子
编译
javax.activation
激活
1.1.1
罐子
编译
com.drools
项目1
1
系统
${project.basedir}/src/main/webapp/WEB-INF/lib/project1-1.0.jar
我的本地回购协议
文件://${project.basedir}/src/main/webapp/WEB-INF/lib
org.apache.maven.wagen
马车ssh
2.4
战争产生者的名字
org.kie
kie maven插件
6.1.0.1最终版本
真的
org.apache.maven.plugins
maven编译器插件
1.6
1.6
1.6
Cp1254
org.apache.maven.plugins
maven javadoc插件
Cp1254
org.apache.maven.plugins
maven战争插件
${basedir}/target/generatedWAR
这是maven war插件
settings.xml

<?xml version="1.0" encoding="UTF-8"?>
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd">
<localRepository>C:\Devel\m2repo</localRepository>

<pluginGroups>
</pluginGroups>

<proxies>
</proxies>

<servers>
    <server>
        <id>guvnor-m2-repo</id>
        <username>user</username>
        <password>pass</password>
    </server>
</servers>

<mirrors>
    <mirror>
        <id>guvnor-m2-repo</id>
        <url>http://foo.com/kie-drools-wb-distribution/maven2</url>
        <mirrorOf>*</mirrorOf>
    </mirror>

    <mirror>
        <id>nexus</id>
        <url>http://10.145.3.107:8081/nexus/content/groups/public</url>
        <mirrorOf>central</mirrorOf>
    </mirror>

    <mirror>
        <id>snapshots</id>
            <url>http://10.145.3.107:8081/nexus/content/repositories/snapshots</url>
        <mirrorOf>*</mirrorOf>
    </mirror>
</mirrors>

<profiles>
    <profile>
        <id>profile-1</id>
        <activation>
            <activeByDefault>true</activeByDefault>
        </activation>
        <repositories>
            <repository>
                <id>drools</id>
                <url>http://foo.com/kie-drools-wb-distribution/maven2</url>
                <releases>
                    <enabled>true</enabled>
                    <updatePolicy>always</updatePolicy>
                </releases>
            </repository>
        </repositories>
    </profile>

    <profile>
        <id>a.profile</id>
        <properties>
            <a.property>this is a property</a.property>
        </properties>
    </profile>
    <profile>
        <id>b.profile</id>
        <properties>
            <b.property>this is another property</b.property>
        </properties>
    </profile>
</profiles>

<!-- activeProfiles | List of profiles that are active for all builds. | -->
<activeProfiles>
    <activeProfile>profile-1</activeProfile>
</activeProfiles>

</settings>

C:\Devel\m2repo
guvnor-m2-repo
用户
通过
guvnor-m2-repo
http://foo.com/kie-drools-wb-distribution/maven2
*
关系
http://10.145.3.107:8081/nexus/content/groups/public
中心的
快照
http://10.145.3.107:8081/nexus/content/repositories/snapshots
*
概要-1
真的
流口水
http://foo.com/kie-drools-wb-distribution/maven2
真的
总是
a、 侧面图
这是一处房产
b、 侧面图
这是另一个属性
概要-1
另一方面,如果在代码运行时删除本地存储库中的最新版本或“resolver status.properties”文件,则新版本将自动从远程计算机下载到本地。然而,若我们在Workbench上创建一个新版本,程序就不会检测到它

我们能描述一下吗


谢谢您的建议。

Dools 6.1是旧版本,可能与kieScanner有一些问题。尝试使用drools的最新版本6.5,看看是否遇到相同的问题