我正在编写一个使用Spring Integration的过滤器。
在此过滤器中,我检查一组前提条件。如果不满足任何前提条件,我将需要更改消息有效负载(甚至标题)以添加用户要完成的操作集以满足它并通过discart通道将其返回给用户。
我可以使用服务激活器,但我认为在这种情况下过滤器会更具描述性。
最干净的方法是什么?
这是一种伪代码:
@Filter
public boolean checkEventPreconditions(Message<?> messageIn)
{
//Here I am returning the set of actions to satisfied preconditions
List<Integer> actionsId = returnActions();
if(actionsId.isEmpty())
{
return true;
}
else
{
//Here I need to add actionsId to the message
return false;
}
}
谢谢!
答案 0 :(得分:2)
不,不要混淆问题:过滤器只需检查是否进一步发送消息或丢弃它。 改变信息是变压器的责任。 因此,您想要做的事情应放在 discard 流程中。