enable grpc reflection (#183)

This commit is contained in:
a10zn8
2023-03-24 15:19:44 +04:00
committed by GitHub
parent f6bec7bf8a
commit 783aaaef05
2 changed files with 13 additions and 11 deletions

View File

@@ -52,6 +52,7 @@ grpc-protobuf = { module = "io.grpc:grpc-protobuf", version.ref = "grpc" }
grpc-stub = { module = "io.grpc:grpc-stub", version.ref = "grpc" } grpc-stub = { module = "io.grpc:grpc-stub", version.ref = "grpc" }
grpc-netty = { module = "io.grpc:grpc-netty", version.ref = "grpc" } grpc-netty = { module = "io.grpc:grpc-netty", version.ref = "grpc" }
grpc-testing = { module = "io.grpc:grpc-testing", version.ref = "grpc" } grpc-testing = { module = "io.grpc:grpc-testing", version.ref = "grpc" }
grpc-services = { module = "io.grpc:grpc-services", version.ref = "grpc" }
httpcomponents-httpmime = { module = "org.apache.httpcomponents:httpmime", version.ref = "httpcomponents" } httpcomponents-httpmime = { module = "org.apache.httpcomponents:httpmime", version.ref = "httpcomponents" }
httpcomponents-httpclient = { module = "org.apache.httpcomponents:httpclient", version.ref = "httpcomponents" } httpcomponents-httpclient = { module = "org.apache.httpcomponents:httpclient", version.ref = "httpcomponents" }
@@ -125,7 +126,7 @@ brave-instrumentation-grpc = "io.zipkin.brave:brave-instrumentation-grpc:5.15.0"
[bundles] [bundles]
apache-commons = ["commons-io", "apache-commons-lang3", "apache-commons-collections4"] apache-commons = ["commons-io", "apache-commons-lang3", "apache-commons-collections4"]
etherjar = ["etherjar-domain", "etherjar-hex", "etherjar-rpc-api", "etherjar-rpc-http", "etherjar-rpc-ws", "etherjar-tx", "etherjar-contract", "etherjar-erc20"] etherjar = ["etherjar-domain", "etherjar-hex", "etherjar-rpc-api", "etherjar-rpc-http", "etherjar-rpc-ws", "etherjar-tx", "etherjar-contract", "etherjar-erc20"]
grpc = ["grpc-protobuf", "grpc-stub", "grpc-netty", "grpc-proto-util"] grpc = ["grpc-protobuf", "grpc-stub", "grpc-netty", "grpc-proto-util", "grpc-services"]
httpcomponents = ["httpcomponents-httpmime", "httpcomponents-httpclient"] httpcomponents = ["httpcomponents-httpmime", "httpcomponents-httpclient"]
jackson = ["jackson-core", "jackson-databind", "jackson-datatype-jdk8", "jackson-datatype-jsr310", "jackson-module-kotlin"] jackson = ["jackson-core", "jackson-databind", "jackson-datatype-jdk8", "jackson-datatype-jsr310", "jackson-module-kotlin"]
kotlin = ["kotlin-stdlib-jdk8", "kotlin-reflect"] kotlin = ["kotlin-stdlib-jdk8", "kotlin-reflect"]

View File

@@ -24,6 +24,7 @@ import io.grpc.ServerCall
import io.grpc.ServerCallHandler import io.grpc.ServerCallHandler
import io.grpc.ServerInterceptor import io.grpc.ServerInterceptor
import io.grpc.netty.NettyServerBuilder import io.grpc.netty.NettyServerBuilder
import io.grpc.protobuf.services.ProtoReflectionService
import io.micrometer.core.instrument.Metrics import io.micrometer.core.instrument.Metrics
import io.micrometer.core.instrument.binder.jvm.ExecutorServiceMetrics import io.micrometer.core.instrument.binder.jvm.ExecutorServiceMetrics
import org.slf4j.LoggerFactory import org.slf4j.LoggerFactory
@@ -66,16 +67,14 @@ open class GrpcServer(
val serverBuilder = NettyServerBuilder val serverBuilder = NettyServerBuilder
.forAddress(InetSocketAddress(mainConfig.host, mainConfig.port)) .forAddress(InetSocketAddress(mainConfig.host, mainConfig.port))
.maxInboundMessageSize(Defaults.maxMessageSize) .maxInboundMessageSize(Defaults.maxMessageSize)
.let {
if (mainConfig.accessLogConfig.enabled) { if (mainConfig.accessLogConfig.enabled) {
it.intercept(accessHandler) serverBuilder.intercept(accessHandler)
} }
if (mainConfig.compression.grpc.serverEnabled) { if (mainConfig.compression.grpc.serverEnabled) {
it.intercept(CompressionInterceptor()) serverBuilder.intercept(CompressionInterceptor())
log.info("Compression enabled for gRPC server") log.info("Compression enabled for gRPC server")
} }
it
}
serverBuilder.intercept(grpcServerBraveInterceptor) serverBuilder.intercept(grpcServerBraveInterceptor)
@@ -87,6 +86,8 @@ open class GrpcServer(
serverBuilder.addService(it) serverBuilder.addService(it)
} }
serverBuilder.addService(ProtoReflectionService.newInstance())
val pool = Executors.newFixedThreadPool(20, CustomizableThreadFactory("fixed-grpc-")) val pool = Executors.newFixedThreadPool(20, CustomizableThreadFactory("fixed-grpc-"))
serverBuilder.executor( serverBuilder.executor(