【问题标题】:cannot find symbol symbol: variable param location: class com.twitter.finagle.transport.Transport.Liveness找不到符号符号:变量参数位置:com.twitter.finagle.transport.Transport.Liveness 类
【发布时间】:2019-04-10 04:48:48
【问题描述】:

我在我的 java 代码库中使用了 finagle scala 库。

以下是用 scala 代码编写的 finagle 的示例代码。

    import com.twitter.finagle.transport.Transport
    import com.twitter.finagle.{Http, Stack}
    val client = Http.client
    val params: Stack.Params = client.params
    client.configured(client.params[Transport.Liveness].copy(keepAlive = Some(true)))

我在java中写的和下面一样-

    import com.twitter.finagle.Http;
    import com.twitter.finagle.transport.Transport;

    public class FinagleClientDemo {
        public static void main(String[] args) {
            Http.Client  client = Http.client()
                    .withLabel("myLabel");
                client.withDecompression(true);
            Transport.Liveness liveness = client.params().apply(Transport.Liveness.param());
        }
    }

当我编译程序时出现以下错误 -

    [error] /Users/myuser/Documents/chapter14/src/main/java/FinagleClientDemo.java:9:1: cannot find symbol
    [error]   symbol:   method param()
    [error]   location: class com.twitter.finagle.transport.Transport.Liveness
    [error]         Transport.Liveness liveness = (Transport.Liveness)Http.client().params().apply(Transport.Liveness.param());
    [error] (Compile / compileIncremental) javac returned non-zero exit code
    [error] Total time: 4 s, completed Nov 6, 2018 1:10:43 PM
    2. Waiting for source changes in project chapter14... (press enter to interrupt)

我在这里犯了什么错误。如何让我的程序编译?

【问题讨论】:

    标签: scala scala-java-interop finagle twitter-finagle


    【解决方案1】:

    答案是

    Transport.Liveness liveness = client.params().apply(Transport.Liveness$.MODULE$.param());
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-04-30
      • 2015-02-03
      • 2021-05-21
      • 2012-11-12
      • 2011-08-12
      • 2021-07-26
      • 2023-04-02
      相关资源
      最近更新 更多