Drools 创建drool以列出其他drool中的所有规则

Drools 创建drool以列出其他drool中的所有规则,drools,Drools,基本上,我想知道是否有一种方法可以运行一些东西,它会进入目录下的每个drools文件(在一个有50个文件夹的文件夹中,会进入每个文件夹),并从这些文件中提取某些数据 所以我运行它,比如说10.DRLs,每个里面有5条规则,有一个名称规则“等等”和一个logger.info行。这条规则的实际作用之一 可以写一些东西进入所有这些文件并创建每个文件名的列表,然后在所有规则名称和日志行下吗 我们大约有500个.drl文件,每个文件中包含1到100条规则。手动为每个文件创建一个列表需要花费很多时间:)Dr

基本上,我想知道是否有一种方法可以运行一些东西,它会进入目录下的每个drools文件(在一个有50个文件夹的文件夹中,会进入每个文件夹),并从这些文件中提取某些数据 所以我运行它,比如说10.DRLs,每个里面有5条规则,有一个名称规则“等等”和一个logger.info行。这条规则的实际作用之一

可以写一些东西进入所有这些文件并创建每个文件名的列表,然后在所有规则名称和日志行下吗


我们大约有500个.drl文件,每个文件中包含1到100条规则。手动为每个文件创建一个列表需要花费很多时间:)

Drools可以做到这一点,但我认为这不是您想要使用的工具。Drools用于建模业务逻辑。你在这里不是真的这么做的。您可以使用notepad++、grep、emacs或其他海量文本处理工具手动提取数据。我也不建议这样做

完成此任务的最佳工具可能是用python或ruby编写的脚本。Ruby是我在本例中选择的一个,因为它更好地集成了正则表达式。一旦你有了这个脚本,你可以在将来随意提取这些数据。脚本是可重用和可扩展的。如果您希望定期需要这些信息或类似的信息,那么这使它们成为比大量文本编辑器更好的选择

如果您的需求之一是每当您的口水爆发时都会执行此任务,那么在Java中执行此文本处理可能会更容易。根据您的需求,您可能希望让Java在fireAllRules事件之前或之后完成这项工作


最后,drools确实对自己很了解。你可以想象,当drools运行时,你会向它询问很多这方面的信息。我自己从来没有这样做过。当我必须处理您描述的任务时,我使用了一个脚本。

我建议将文件作为纯文本阅读,并使用一些正则表达式从中提取您需要的信息。grep和wc是您在这里寻找的朋友。现在是什么?他们是人还是节目P