有没有办法支持scalapb grpc并在scala中播放应用程序

时间:2017-03-07 21:09:35

标签: scala playframework protocol-buffers grpc

我有一个需要进行aws ELB运行状况检查的grpc scala应用程序。通常我使用Play / health来做到这一点。

有没有办法在不同的端口上运行grpc和Play应用程序。

2 个答案:

答案 0 :(得分:1)

我通过使用shaded版本的grpc-netty依赖关系,获得了一个Play 2.6.11应用程序以使用gRPC客户端。这种依存关系不会与Play的净值相冲突。

从以下位置更改依赖项:

"io.grpc" % "grpc-netty" % scalapb.compiler.Version.grpcJavaVersion

收件人:

"io.grpc" % "grpc-netty-shaded" % scalapb.compiler.Version.grpcJavaVersion

并执行cleancompile

我在this thread中发现了有关grpc-netty阴影的信息。它在this pull request中的grpc-java 1.9版中引入。

答案 1 :(得分:0)

不幸的是,截至目前(Play 2.5.x),你会遇到gRPC和Play在同一进程中共存的问题,因为它们存在冲突的netty版本。考虑使用akka-http作为您的healthcheck端点;它也更轻,对您的项目结构没有任何影响。