Java Scala—如何将回调传递给方法

Java Scala—如何将回调传递给方法,java,scala,apache-kafka,Java,Scala,Apache Kafka,我试图通过Scala(来自Kafka:)公开Java方法这是原始的Java方法: public void commitAsync(OffsetCommitCallback callback) 如何将回调传递给Scala中的方法?我有点像: def commitAsync() = { consumer.commitAsync(OffsetCommitCallback callback) } 谢谢。 奖励积分-测试的效果如何,例如使用MockitoSugar?您可以这样处理回调:

我试图通过Scala(来自Kafka:)公开Java方法
这是原始的Java方法:

public void commitAsync(OffsetCommitCallback callback)
如何将
回调传递给Scala中的方法?我有点像:

 def commitAsync() = {
    consumer.commitAsync(OffsetCommitCallback callback)
  }
谢谢。

奖励积分-测试的效果如何,例如使用MockitoSugar?

您可以这样处理回调:

def commitAsync() = {
   consumer.commitAsync(new OffsetCommitCallback() {
      def onComplete(m: java.util.Map[TopicPartition, OffsetAndMetadata], e: Exception) {
        //...
      }
   })
}
是一个接口,(“类似于”Scala中的trait),因此可以匿名初始化实例


是Spark项目中的快速幻影。

您可以如下处理回调:

def commitAsync() = {
   consumer.commitAsync(new OffsetCommitCallback() {
      def onComplete(m: java.util.Map[TopicPartition, OffsetAndMetadata], e: Exception) {
        //...
      }
   })
}
是一个接口,(“类似于”Scala中的trait),因此可以匿名初始化实例


是Spark项目中的快速幻影。

谢谢。。为了理解,我们正在通过调用
commitAsync
方法创建
新的OffsetCommitCallback
?它首先创建一个
OffsetCommitCallback
的具体实例,然后作为回调传递给
commitAsync
,谢谢。。因此,通过这种方式,任何人都可以调用Scala方法
commitAsync
,它将在完成后返回TopicPartition和Offset。。。有人会怎么称呼这个Scala方法?(使用哪些参数?)。不需要直接从客户端调用它。我需要为此创建一个“测试用例”。如何启动对该方法的“调用”以及如何测试它?谢谢,谢谢。。为了理解,我们正在通过调用
commitAsync
方法创建
新的OffsetCommitCallback
?它首先创建一个
OffsetCommitCallback
的具体实例,然后作为回调传递给
commitAsync
,谢谢。。因此,通过这种方式,任何人都可以调用Scala方法
commitAsync
,它将在完成后返回TopicPartition和Offset。。。有人会怎么称呼这个Scala方法?(使用哪些参数?)。不需要直接从客户端调用它。我需要为此创建一个“测试用例”。如何启动对该方法的“调用”以及如何测试它?谢谢