在 java 配置中配置 Spring Integration SpEl
Configure Spring Integration SpEl in java config
我正在使用 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.setUriVariablesExpression
或 httpHandler.setUriVariableExpressions
添加表达式,但我不知道如何以编程方式创建 SpEl 表达式。
你应该像我们在框架中使用代码:
private final static SpelExpressionParser PARSER = new SpelExpressionParser();
并使用 PARSER
从 String
填充 Expression
PARSER.parseExpression("headers.url");
我正在使用 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.setUriVariablesExpression
或 httpHandler.setUriVariableExpressions
添加表达式,但我不知道如何以编程方式创建 SpEl 表达式。
你应该像我们在框架中使用代码:
private final static SpelExpressionParser PARSER = new SpelExpressionParser();
并使用 PARSER
从 String
Expression
PARSER.parseExpression("headers.url");