首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在Scala中处理Java方法'paused()‘吗?

在Scala中处理Java方法'paused()‘吗?
EN

Stack Overflow用户
提问于 2018-04-28 04:21:46
回答 1查看 79关注 0票数 0

我正在尝试通过Scala公开Java方法(关于原始java方法的更多细节-它来自Kafka

这是原始的Java方法:

代码语言:javascript
运行
复制
pause(Collection<TopicPartition> partitions)

如何在Scala中公开参数并将参数传递给方法,以及在这种情况下使用哪个Scala集合?我有一些类似的东西:

代码语言:javascript
运行
复制
import org.apache.kafka.clients.consumer.{KafkaConsumer, OffsetAndMetadata}
import org.apache.kafka.common.TopicPartition
import collection.mutable.Map
import collection.JavaConverters._

//initialise consumer:
var consumer = createKafkaConsumer(config, subscriptions)

//accept a scala.collection.mutable.Map here
def pauseMethod (topic_partition) = {
    //and then convert it to a java
    consumer.pause(topic_partition)
}

另外,如何在Scala中调用(和传递参数)此方法?谢谢。

EN

回答 1

Stack Overflow用户

发布于 2018-04-28 04:50:49

听起来你好像把paused()pause(Collection)搞混了。KafkaConsumer没有paused(Collection)函数。您不必公开任何内容,因此只需直接调用pause函数即可。

使用有限的代码示例,您可以使用以下内容暂停和检索暂停的主题

代码语言:javascript
运行
复制
val consumer = createKafkaConsumer(config, subscription)

consumer.pause(Seq("topic1","topic2").asJava)
println(consumer.paused().asScala)

注意,Scala集合是使用asJava转换为java的,而Java集合是使用反函数asScala转换为Scala的。

希望这就是你想要的,否则请提供一个功能最少的代码样本以及澄清的问题。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50069777

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档