У меня есть rest-api, которые создают ресурс и отправляют его в очередь AMQ.Верблюд отправляет измененное тело в AMQ без изменения тела маршрута
Я использую верблюд отдых и DSL создал что-то вроде этого:
rest("/api")
.consumes("application/json").produces("application/json")
.post("/test").type(Test.class)
.route()
.to(ExchangePattern.InOnly, "direct:sendTestAmq")
.endRest()
from("direct:sendTestAmq")
.convertBodyTo(TestProtos.Test.class)
.marshal().protobuf()
.to(ExchangePattern.InOnly, "amq:queue:test.queue");
Когда я называю конечную точку, я получаю ответ base64, соответствующий Protobuf двоичный файл.
Я хотел бы получить ответ Test.class json. Я думал, что использовать «to (ExchangePattern.InOnly, ...)» позволит это, не изменяя тело.
Это еще один номер example, ответ «После», и я хотел, чтобы это было «раньше».
Кто-нибудь знает, как я могу это сделать?
Благодаря
См. WireTap EIP –
@ClausIbsen Wiretap работает параллельно, я прав? Я хотел бы дождаться отправки сообщения перед отправкой ответа. У меня будет событие статуса 200, если в маршруте «direct: sendTestAmq» возникает исключение –