enable grpc reflection (#183)
This commit is contained in:
@@ -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"]
|
||||||
|
|||||||
@@ -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(
|
||||||
|
|||||||
Reference in New Issue
Block a user