我正在尝试通过Scala(来自Kafka:https : //kafka.apache.org/10/javadoc/index.html? org/apache/kafka/clients/consumer/ KafkaConsumer.html)公开Java方法。
这是原始的Java方法:
public void commitAsync(OffsetCommitCallback callback)
如何传递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) {
//...
}
})
}
OffsetCommitCallback是一个接口(与Scala中的特征“相似” ),因此您可以匿名初始化实例。
这是Spark项目中的快速演示。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句