Java 如何在Drools中打印不匹配的参数

Java 如何在Drools中打印不匹配的参数,java,drools,Java,Drools,在下面的Drools文件中,我在when表达式中加入了两个查询,并打印匹配的结果 import com.demo.drools.*; rule "demo" when $book: BlockTrade() $buys : Trade(type=="buy") from $book.trades $sells : Trade(type=="sell", $buys.id==id,

在下面的Drools文件中,我在when表达式中加入了两个查询,并打印匹配的结果

import com.demo.drools.*;

rule "demo"
    when
        $book: BlockTrade()
        $buys : Trade(type=="buy") from $book.trades
        $sells : Trade(type=="sell", $buys.id==id, 
                                     $buys.price==price, 
                                     $buys.trader==trader) from $book.trades
    then
        System.out.println("buys:  " + $buys);
        System.out.println("sells: " + $sells);
    end
它工作正常,但我想用一个不匹配的原因记录所有不匹配的交易

例如:

交易id=1不匹配,因为$buys.type=“tware”不匹配$buys或$sells中的任何交易

//或

Trade id=2不匹配,因为$buys.price=50,而$buys.trader=“John”与任何$seals都不匹配

如何实现它?

请参阅。如果要记录不匹配的交易,则需要为此创建规则


希望有帮助,

谢谢,你的评论很有帮助。