diff --git a/spring-cloud-function-grpc/pom.xml b/spring-cloud-function-grpc/pom.xml
index 24560b4d2..5a5fde478 100644
--- a/spring-cloud-function-grpc/pom.xml
+++ b/spring-cloud-function-grpc/pom.xml
@@ -31,6 +31,11 @@
grpc-protobuf
${grpc.version}
+
+ io.grpc
+ grpc-services
+ ${grpc.version}
+
io.grpc
grpc-stub
diff --git a/spring-cloud-function-grpc/src/main/java/org/springframework/cloud/function/grpc/GrpcServer.java b/spring-cloud-function-grpc/src/main/java/org/springframework/cloud/function/grpc/GrpcServer.java
index 974ae32a6..f5924ef9e 100644
--- a/spring-cloud-function-grpc/src/main/java/org/springframework/cloud/function/grpc/GrpcServer.java
+++ b/spring-cloud-function-grpc/src/main/java/org/springframework/cloud/function/grpc/GrpcServer.java
@@ -19,13 +19,15 @@ package org.springframework.cloud.function.grpc;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.springframework.context.SmartLifecycle;
+import org.springframework.util.ClassUtils;
+
import io.grpc.BindableService;
import io.grpc.Server;
import io.grpc.ServerBuilder;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-
-import org.springframework.context.SmartLifecycle;
+import io.grpc.protobuf.services.ProtoReflectionService;
/**
*
@@ -58,6 +60,9 @@ class GrpcServer implements SmartLifecycle {
BindableService bindableService = this.grpcMessageServices[i];
serverBuilder.addService(bindableService);
}
+ if (ClassUtils.isPresent("io.grpc.protobuf.services.ProtoReflectionService", null)) {
+ serverBuilder.addService(ProtoReflectionService.newInstance());
+ }
this.server = serverBuilder.build();
logger.info("Starting gRPC server");