创建流口水以列出其他流氓中的所有规则

时间:2013-04-10 13:32:22

标签: drools

基本上我想知道是否有办法运行某些东西,它会进入其下的目录中的每个drools文件(在一个文件夹中,其中有50个文件夹,将进入每个文件夹。)并提取某些数据从这些文件 所以我运行它,它访问让我们说10 .DRLs,每个有5个规则,里面有一个名称规则“blah blah”和一个logger.info行。在规则实际上做了什么。

是否可以写入所有这些文件并创建每个文件名列表,然后根据所有规则名称和记录器行编写?

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

1 个答案:

答案 0 :(得分:1)

Drools可以做到这一点,但我不认为这是你想要使用的工具。 Drools用于建模业务逻辑。你真的不是在这里做的。您可以使用notepad ++,grep,emacs或其他大量文本操作工具手动提取数据。我也不会真的推荐它。

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

如果您的一个要求是,只要您的drools发生此任务就会发生,那么在Java中执行此文本处理可能会更容易。您可能希望让Java在fireAllRules事件之前或之后执行工作,具体取决于您的要求。

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