我创建了以下代码和匹配配置。邮件的摄取效果很好,但根本不评估SpEL
,因此创建了一个名为表达式的新Exchange ...
查看我的依赖项版本@SendTo
注释应该支持这种表达式...
我做错了什么?
我正在使用RabbitMQ
和Spring Boot 1.4.3
@EnableBinding(CommandChannel.class)
public class CommandSink {
private static final Logger LOGGER = LoggerFactory.getLogger(CommandSink.class);
@StreamListener(CommandChannel.INPUT)
@SendTo("!{request.messageProperties.headers['reply_to']}")
public String processCommand(@Payload String cmd, @Header("reply_to") String replyToQueue){
LOGGER.info("Got a {} command and I'll reply to {}", cmd, replyToQueue);
String result = "geil: " + cmd;
return result;
}
}
答案 0 :(得分:1)
我做错了什么?
没有; bean后处理器中根本没有代码来评估那里的SpEL表达式;该值是目标的简单字符串值(通道名称)。
是什么让您相信SpEL在那里受到支持?我在解析这个问题时遇到了麻烦...
查看我的依赖项版本@SendTo注释应该支持这种表达式...