我指的是 Drools 文档中的以下代码来修改 Kie-server 中的事实。
1 BatchExecutionCommand command = new BatchExecutionCommand();
2 command.setLookup("ksession1");
3 ModifyCommand modifyCommand = new ModifyCommand();
4 modifyCommand.setFactHandleFromString("123:234:345:456:567");
5 List<Setter> setters = new ArrayList<Setter>();
6 setters.add(new SetterImpl("age", "30"));
7 modifyCommand.setSetters(setters);
8 command.getCommands().add(modifyCommand);
在第 6 行,我想将属性设置为对象而不是字符串。例如,
6 setters.add(new SetterImpl("id", UUID.randomUUID());
但是,SetterImpl(String accessor, String value) API 只接受 String 参数。
我们是否有任何其他的 SetterImpl 实现可以用来将对象而不是 String 发送到 Kie-server?
我要发送对象的原因是容器内的 java 模型包含非原始类型的属性,例如,
Public class Test{
UUID id;
public UUID getId(){
return id;
}
public void setId(UUID id){
this.id = id;
}
}