Почему SpEL не работает в Spring Boot и Spring Cloud Stream @SendTo
Я создал следующий код и соответствующую конфигурацию. Поглощение сообщений отлично работает, но SpEL
вообще не оценивается, поэтому создается новый Exchange с выражением как именем...
Глядя на мои версии @SendTo
аннотация @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;
}
}
Что я делаю не так?
Ничего; в обработчике bean post нет кода для оценки выражения SpEL; значение представляет собой простое строковое значение для адресата (название канала).
Что побуждает вас поверить, что SpEL поддерживается там? У меня возникли проблемы с разбором этого...
Глядя на мои версии зависимостей, аннотация @SendTo ДОЛЖНА поддерживать такой вид выражения...
- Вопросы
- Spring-cloud-stream
- Почему SpEL не работает в Spring Boot и Spring Cloud Stream @SendTo