java development kie_Drools - 无法创建要加载到KieContainer的资源

我在Scala中使用以下代码块来创建一个KieContainer,我创建了一个新的KieSession:

val kieSession = DroolsMgt.getKieSession(List("myFile.drl"), Boot.kieServices){

val kfs = kieServices.newKieFileSystem()

for (filename

val fis = new FileInputStream(filename)

kfs.write(filename, kieServices.getResources.newInputStreamResource(fis))

}

val kieBuilder = kieServices.newKieBuilder(kfs).buildAll()

val kieContainer = kieServices.newKieContainer(kieServices.getRepository.getDefaultReleaseId)

kieContainer.newKieSession()

}

在Drools-only项目中运行时,此代码一直运行正常,但是现在我在尝试通过调用 kieServices.getResources.newInputStreamResource(fis) 将我的drl文件用作资源时获得 null 值 .

因此,没有文件被加载到我的KieContainer中,并且在KieBase中没有创建KiePackages,这意味着任何时候都不会触发任何规则(即使是没有“when”条件的空白规则) .

什么可能导致KieResources返回null?是否有任何依赖项或导入需要注意?

编辑:我'm also running the following code to verify the contents of the DRL file being read. It' s按预期打印出来,但资源最终仍然是 null .

println("FIS Contents =\t" + sBuilder.toString())

val source = scala.io.Source.fromFile(filename)

println("DRL Source = \n")

source.getLines().foreach(x => println(x))

source.close()

val fisResource = kieResources.newInputStreamResource(fis)

println("Resource = \t" + fisResource)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值