java - Spring Integration Java DSL - Http 出站网关 uri 变量表达式

标签 java spring spring-integration spring-el

我有一个 Http 出站网关,我想在其中设置一个 uri 变量,其中的值来自消息 header 。我可以看到这可以像这样完成:

            .handle(Http
                    .outboundGateway(serviceUri, restTemplate)
                    .uriVariable("var", expression)
                    .httpMethod(HttpMethod.POST)

表达式的类型为 org.springframework.expression.Expression。如何为 JmsHeaders.CORRELATION_ID 值创建这样的 Expression 对象?我在任何地方都找不到任何例子。我知道字符串 SPEL 将是 "headers['correlationId']" 但我不知道如何将其转换为 Expression 对象?

我正在使用 spring-integration-java-dsl:1.1.0.RELEASE

最佳答案

参见 this answer to a similar question .

请注意,JmsHeaders.CORRELATION_ID 实际上是 jms_correlationId。使用常量更安全...

PARSER.parseExpression("headers['" + JmsHeaders.CORRELATION_ID + "']");

关于java - Spring Integration Java DSL - Http 出站网关 uri 变量表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33649277/

相关文章:

java.io.UnsupportedEncodingException : unicode-1-1-utf-7?

java - Spring Boot - Spring security @ComponentScan 或 @Import

java - 如何处理 SSL 证书以在 Jar (Spring Batch) 应用程序中调用 https 服务

java - 如何显示本地 h2 数据库(Web 控制台)的内容?

Spring Integration - 以编程方式创建/拆卸 channel

java - Spring Integration 流程失去订阅者

java - Jslider反射(reflect)在面板中

Java .dat 文件到 Python pickle

java - 连续间隔后tomcat服务器响应?

java - 如何将像 Quickfixj 这样的 TCP 服务器实现集成到 Spring-Integration 项目中?