@Bean @ConditionalOnMissingBean(KieSession.class) public KieSession kieSession() throws IOException{ return kieContainer().newKieSession(); }
@Bean @ConditionalOnMissingBean(KieBase.class) public KieBase kieBase() throws IOException{ return kieContainer().getKieBase(); }
@Bean @ConditionalOnMissingBean(KModuleAnnotationPostProcessor.class) public static KModuleAnnotationPostProcessor kiePostProcesser(){ return new KModuleAnnotationPostProcessor(); }
}
设计过滤器,对规则进行过滤,可以根据该改过滤器过滤规则,也可以手动agenda分组
1 2 3 4 5 6 7 8 9 10 11 12 13 14
public class RulesFilter implements AgendaFilter { private String filterName;
public RulesFilter(String filterName){ this.filterName = filterName; }
@Override public boolean accept(Match match) { Map metadataMap = match.getRule().getMetaData(); String version = metadataMap.get("version").toString(); return version.equals(filterName); } }
设计fact
fact即drools的输入。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
@Data @JsonDeserialize (using = MyJsonDeseriablizer.class) public class Company implements Serializable { @JsonProperty("ID") private int id; @JsonProperty("NAME") private String name;
近期评论