在java配置中配置Spring Integration SpEl

时间:2015-03-15 08:57:24

标签: java spring-integration spring-el

我使用spring集成通过http调用另一个服务。我使用注释来配置spring集成,但是当我希望我的服务url可以根据消息有效负载进行配置时,我遇到了问题。当前代码如下所示:

@Bean
@ServiceActivator(inputChannel = "myChannel")
public HttpRequestExecutingMessageHandler otherServiceHttpCall() {
    final HttpRequestExecutingMessageHandler httpHandler =
            new HttpRequestExecutingMessageHandler("http://localhost:8080/updateStatus/{id}?");
    httpHandler.setHttpMethod(HttpMethod.GET);
    httpHandler.setOutputChannel(posPaymentResponse());
    return httpHandler;
}

我知道我可以通过调用httpHandler.setUriVariablesExpressionhttpHandler.setUriVariableExpressions来添加表达式,但我不知道如何以编程方式创建SpEl表达式。

1 个答案:

答案 0 :(得分:1)

你应该使用我们在框架中的代码:

private final static SpelExpressionParser PARSER = new SpelExpressionParser();

并使用PARSER填充Expression

中的String
PARSER.parseExpression("headers.url");