在Spring集成Filter中更改有效负载

时间:2013-10-17 14:51:00

标签: spring-integration

我正在编写一个使用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;
    }

}

谢谢!

1 个答案:

答案 0 :(得分:2)

不,不要混淆问题:过滤器只需检查是否进一步发送消息或丢弃它。 改变信息是变压器的责任。 因此,您想要做的事情应放在 discard 流程中。