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 楼答案
Drools通常包含在JBoss堆栈中,这意味着遵循良好的设计架构,您将把它们放在一个单独的包中。也就是说,在任何规则更新时,都必须重建和重新部署此捆绑包,而无需重新启动服务器本身
另一方面,作为参考,你也可以阅读this答案