element で満たされた map を送信する次の Drools ルールがありますが、実行されると element があります。値が「Y」であるはずなのに、なぜ null になるのですか? ACDebug.debug() メソッドにブレークポイントを配置し、$map.put() が実行された後にマップを検査すると、値が "Y" になっていますが、ルールが実行された後は null になりますか? 誰かが同様の問題を抱えていますか?
import java.util.Map;
import java.util.HashMap;
import edu.abc.ACDebug;
rule "POSTPROCESSOR 8"
ruleflow-group "supress-processor"
when
$map:Map(keySet contains "STANDARD_ADDRESS:STREET_NAME")
then
ACDebug.debug($map, "Map before PUT: ");
$map.put("/locationList/sourceAddress/fullStreet",new String("Y"));
ACDebug.debug($map, "Map after PUT: ");
$map.remove("STANDARD_ADDRESS:STREET_NAME");
end