Java Kie扫描仪在Drools 6.1中不工作
我们有一个使用Drools规则集的Java应用程序。我们正在使用Drools 6.1 这些规则在工作台存储库中可用。我们希望在使用Workbench更改规则集时看到结果中的更改。所以,在我们的java代码中,我们添加了Kiescanner模块,该模块定期检查这台机器,但我们无法成功 我们的Java代码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
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,看看是否遇到相同的问题