GH-1248 Add support for passing host/port to Grps MessageRoutingCallback

Resolves #1248
This commit is contained in:
Oleg Zhurakousky
2025-03-14 16:50:39 +01:00
parent 7e933b7138
commit 148d23e964

View File

@@ -38,10 +38,22 @@ public class GrpcFunctionAutoConfiguration {
public static String GRPC = "grpc"; public static String GRPC = "grpc";
public static String GRPC_HOST = "grpcHost";
public static String GRPC_PORT = "grpcPort";
@Bean @Bean
public Function<Message<byte[]>, Message<?>> grpcInvokerFunction() { public Function<Message<byte[]>, Message<?>> grpcInvokerFunction() {
return input -> { return message -> {
return GrpcUtils.requestReply(input); if (message.getHeaders().containsKey(GRPC_HOST)) {
String host = (String) message.getHeaders().get(GRPC_HOST);
int port = message.getHeaders().get(GRPC_PORT) instanceof String stringPort
? Integer.parseInt(stringPort)
: (int)message.getHeaders().get(GRPC_PORT);
return GrpcUtils.requestReply(host, port, message);
}
return GrpcUtils.requestReply(message);
}; };
} }