JBoss Drools - 如何从 java 获取数据(事实)到 DRL

JBoss Drools - how to get data (facts) from java to DRL

如何在 GUI 中获取用户定义的事实并将其插入 DRL?

例如:用户在 GUI (JavaFX) 中选择了黑色汽车,现在我想在 DRL 代码中使用该事实。如何将有关黑车的信息发送到 DRL?我应该使用 POJO 吗?

如果你想执行你在 DRL 文件中编写的规则,你必须创建一个 POJO 并使用 KieSession 你可以执行你的规则。例如,

val pojo = new POJO('POJO arguments') 
val kieServices = KieServices.Factory.get()
val kieContainer = kieServices.newKieClasspathContainer()
val kieSession = kContainer.newKieSession()
kieSession.insert(pojo)
kieSession.fireAllRules()

阅读this documentation. You can get all the drool-API examples here