我遇到了一个问题,当我在fileSystem上修改我的drools规则(.drl)时,它似乎可以作为JUnit测试用例,但在尝试在Tomcat6下运行的Web应用程序中测试相同时失败。
当我修改Tomcat下的drl文件时,我确实看到日志说KnowledgeAgent正在重建知识库等等,我确实在调试器中看到了KAgent下新的KBase实例,但是当我执行规则时它仍显示原始值。
想知道是否有任何缓存tomcat在内部使用规则,如果是,那么解决方法是什么? 任何帮助表示赞赏。
答案 0 :(得分:-1)
据我了解你的问题,我认为你必须在更改时重新加载你的drl文件 您是否正在使用 ResourceFactory.newClassPathResource() 方法来加载规则文件?如果是,则使用 ResourceFactory.newInputStreamResource(stream) 方法。它总是获得最新修改的drl文件。