有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java会自动编译Drl文件吗?当服务器运行时,如果我们更改Drl文件?

我是个流口水的新手。我从人们那里得知,如果我们使用DRL文件,我们不需要在生产系统中重新启动服务器,代码更改会自动生效,但在我的情况下不会发生。。。 例如:

when
$account : Account( balance > 10 )
then
System.out.println("Print");

案例1)根据上面的例子,我已经启动了服务器,它开始在下面给出控制台,因为我在java端循环了while(true)

Print
Print
Print
.....
.....
.....,so on 

案例2)以下是我在不停止jboss服务器的情况下所做的更改

when
$account : Account( balance > 10 )
then
System.out.println("Changed Print");

现在我期待着结果

Changed Print
Changed Print
Changed Print
.....
.....
.....,so on 

但问题仍然是我正在得到cas2 1输出。。。为什么DRL不会自动编译,因为我已经更改并保存了文件

我理解DRL的目的正确吗?谢谢你的帮助。谢谢


共 (1) 个答案

  1. # 1 楼答案

    Drools通常包含在JBoss堆栈中,这意味着遵循良好的设计架构,您将把它们放在一个单独的包中。也就是说,在任何规则更新时,都必须重建和重新部署此捆绑包,而无需重新启动服务器本身

    另一方面,作为参考,你也可以阅读this答案