无法使用scala构建gRPC ManagedChannel

时间:2017-07-04 07:00:52

标签: java scala maven grpc grpc-java

我尝试创建一个gRPC客户端。对于

val channel = ManagedChannelBuilder.forAddress(host, port).usePlaintext(true).build

我收到此编译时错误

Error:(18, 87) value build is not a member of ?0
    val channel = ManagedChannelBuilder.forAddress(host, port).usePlaintext(true).build

gRPC是为Java而构建的。我的项目是多模块maven项目,其中protobuf文件和生成的代码在一个单独的模块中。

2 个答案:

答案 0 :(得分:0)

你试过'.build()'吗?我对scala不太熟悉,但是用Java编写的库可能需要使用括号。如果它正在识别usePlaintext,那么.build()确实应该对返回的ManagedChannelBuilder有效:http://www.grpc.io/grpc-java/javadoc/io/grpc/ManagedChannelBuilder.html#build--

答案 1 :(得分:0)

我设法通过添加多余的转换来解决这个问题

 val channel = ManagedChannelBuilder
    .forAddress(host, port)
    .usePlaintext(true)
    .asInstanceOf[ManagedChannelBuilder[_]].build