Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/371.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/5.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 Drools 6.3.0.最终负载规则动态_Java_Maven_Drools - Fatal编程技术网

Java Drools 6.3.0.最终负载规则动态

Java Drools 6.3.0.最终负载规则动态,java,maven,drools,Java,Maven,Drools,如何在运行时加载drl文件?我已经阅读了Drools文档,我知道应该使用规则jar。我有一些问题: 当我更新我的drl文件并创建一个新的jar时,我如何通知项目 使用扫描仪时,“ReleaseId”在项目中硬编码: KieServices kieServices = KieServices.Factory.get(); ReleaseId releaseId = kieServices.newReleaseId("org.acme", "myartifact", "1.0-SNAPSHOT");

如何在运行时加载
drl
文件?我已经阅读了Drools文档,我知道应该使用规则
jar
。我有一些问题:

  • 当我更新我的
    drl
    文件并创建一个新的
    jar
    时,我如何通知项目

    使用扫描仪时,“ReleaseId”在项目中硬编码:

    KieServices kieServices = KieServices.Factory.get();
    ReleaseId releaseId = kieServices.newReleaseId("org.acme", "myartifact", "1.0-SNAPSHOT");
    KieContainer kContainer = kieServices.newKieContainer( releaseId );
    // Start the KieScanner polling the Maven repository every 10 seconds
    kScanner.start( 10000L );
    
  • KieScanner允许对Maven存储库进行持续监控,以检查是否安装了Kie项目的新版本。如果我在Linux服务器上运行这个项目,我需要安装Maven吗
    Java1.7有Java.nio.file.WatchService和几个相关类型。使用这些工具使某些应用程序了解文件系统中的更改,所需的工作量与设置KieScanner所需的工作量差不多,并且您不需要所有这些开销

    计划动态切换到新的规则库——当然不是一成不变的事情——需要仔细考虑,并提出几个问题。在正在进行的会话中简单地添加或替换规则是不可能的。那么您创建了一个新会话,然后呢?如果幸运的话,您的会话会有所有动态事实消失的时刻,您可以安全地切换到新会话并重定向输入和输出。最后,用户必须了解新规则

    任何自动机制都不会有多大帮助,而且无论如何,最好是完全控制所有步骤