Tag: 规则流

非常基本的drools 5运行,基本设置和快速启动

是否有一个更全面的drools快速入门5.我试图运行简单的Hello World .drl规则,但我想通过一个ant脚本,可能只有javac / java: 我收到以下错误:注意:没有Eclipse或任何其他IDE,我没有完全运行: 是否有一个更全面的drools快速入门5.我试图运行简单的Hello World .drl规则,但我想通过一个ant脚本,可能只有javac / java: 我收到以下错误:注意:没有Eclipse或任何其他IDE,我没有完全运行: test: [java] Exception in thread “main” org.drools.RuntimeDroolsException: Unable to load d ialect ‘org.drools.rule.builder.dialect.java.JavaDialectConfiguration:java:org.drools.rule .builder.dialect.java.JavaDialectConfiguration’ [java] at org.drools.compiler.PackageBuilderConfiguration.addDialect(PackageBuild erConfiguration.java:274) [java] at org.drools.compiler.PackageBuilderConfiguration.buildDialectConfigurati onMap(PackageBuilderConfiguration.java:259) [java] at org.drools.compiler.PackageBuilderConfiguration.init(PackageBuilderConf iguration.java:176) [java] at org.drools.compiler.PackageBuilderConfiguration.(PackageBuilderCo nfiguration.java:153) [java] at org.drools.compiler.PackageBuilder.(PackageBuilder.java:242) [java] at org.drools.compiler.PackageBuilder.(PackageBuilder.java:142) [java] at org.drools.builder.impl.KnowledgeBuilderProviderImpl.newKnowledgeBuilde r(KnowledgeBuilderProviderImpl.java:29) [java] at org.drools.builder.KnowledgeBuilderFactory.newKnowledgeBuilder(Knowledg […]

我应该在这种情况下使用Drools吗?

我将使用大学的图书馆系统来解释我的用例。 学生在图书馆系统中注册并提供他们的个人资料:性别,年龄,部门,以前完成的课程,当前注册的课程,已经借阅的书籍等。图书馆系统中的每本书都将根据学生的个人资料定义一些借阅规则,例如,计算机算法的教科书只能由目前在该课程注册的学生借用; 另一本教科书只能由数学系的学生借用; 也可能有规则,学生最多只能借2本电脑网络书。 由于借用规则,当学生在图书馆系统中搜索/浏览时,他只能看到他可以借用的书籍。 因此,该要求实际上归结为有效生成学生有资格借阅的书籍清单。 以下是我使用Drools对设计进行设想的方法 – 每本书都有一个规则,对学生档案有一些字段限制作为LHS,书规则的RHS只是将书籍ID添加到全局结果列表,然后是所有书籍规则被加载到RuleBase中。 当学生搜索/浏览图书馆系统时,会从RuleBase创建无状态会话,并且学生的个人资料被断言为事实,然后学生可以借用的每本书都会触发其图书规则并获得完整的图书清单。学生可以在全球结果列表中借阅。 一些假设:图书馆将处理数百万本书; 我不认为图书规则太复杂,平均每条规则最多3个简单的字段限制; 系统需要处理的学生数量在100K范围内,因此负载相当重。 我的问题是:如果加载了一百万本图书规则,Drools会占用多少内存? 所有这些百万条规则的解雇速度有多快? 如果Drools是合适的,我想听听一些有经验的用户设计这样一个系统的最佳实践。 谢谢。