linktech1 opened a new issue, #4177:
URL: https://github.com/apache/camel-quarkus/issues/4177
When returning a Uni<Response> an error is thrown:
org.apache.camel.NoTypeConversionAvailableException:
No type converter available to convert from type:
io.smallrye.mutiny.operators.uni.UniOnItemTransformToUni to the required type:
java.io.InputStream
Rest service EPs that fail
@Override
public void configure() throws Exception {
rest("/api")
.get("/movie/{index}")
.to("direct:multicast");
}
OR
@Override
public void configure() throws Exception {
from("platform-http:/platform/movie/{index}")
.to("direct:multicast");
}
The multicast route calls 3 routes that each call Resteasy Reactive clients
that each return exchange with a Uni<Response> in the body. I use a
GroupedExchangeAggregationStrategy to gather all the responses and then combine
the Unis.
Agregation Processor
private void processAllExchanges(Exchange exchange,
MyResponse myResponse) {
List<Exchange> aListOfExchanges = getExchanges(exchange);
Uni<Response> movie = getUniFromExchange(aListOfExchanges, 0);
Uni<Response> episodes = getUniFromExchange(aListOfExchanges, 1);
Uni<Response> people = getUniFromExchange(aListOfExchanges, 2);
Uni<Response> combinedUni = Uni.combine()
.all()
.unis(movie, people, episodes)
.asTuple()
.onItem()
.transformToUni(tuple -> buildMyResponse(tuple, myResponse));
exchange.getMessage().setBody(combinedUni);
}
Is Camel Quarkus going to support returning reactive types as Resteasy
Reactive does?
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]