小编Vio*_*tta的帖子

在Java中哪里设置参数min.insync.replicas和ack?

我需要设置两个参数min.insync.replicasacks。官方文档说该参数min.insync.replicas是broker的参数。我是否正确理解,对于所有主题,都应该在 server.properties 文件中指定它?其中之一是使用命令 kafka.config.sh。Acks参数只能在配置生产者时设置,例如从应用程序?更改文件 Producer.properties 没有帮助吗?

java broker apache-kafka kafka-topic

4
推荐指数
1
解决办法
4066
查看次数

如何在 Kotlin 中编写 getter

我懂一点java,目前正在学习kotlin。我不太清楚吸气剂。我有一个类和一些功能。

class Client(val personalInfo: PersonalInfo?){} //class

fun sendMessageToClient(client: Client?) {
     val personalInfo: PersonalInfo? = client?.personalInfo
    //...
}
Run Code Online (Sandbox Code Playgroud)

据我了解,代码中调用了getter client?.personalInfo。或者它是一个类字段,因为 private 没有在任何地方明确指定?

接下来,我想向 getter 添加一些逻辑,但我收到一个错误,表明这样的签名已经存在。

class Client(val personalInfo: PersonalInfo?){
    fun getPersonalInfo():PersonalInfo?{
        print(personalInfo)
        return personalInfo
    }
}
Run Code Online (Sandbox Code Playgroud)

如果我指定该字段是私有的,错误就会消失class Client(private val personalInfo: PersonalInfo?),但是代码client?.personalInfo将无法工作

我尝试重写代码,但我不知道如何指定val并向其传递构造函数中的值

class Client(personalInfo: PersonalInfo?) {
    val personalInfo = //??
        get() {
            print("personal info $personalInfo")
            return personalInfo
        }
}
Run Code Online (Sandbox Code Playgroud)

是否有可能以某种方式添加print到吸气剂并仍然使用client?.personalInfo

kotlin

2
推荐指数
1
解决办法
276
查看次数

标签 统计

apache-kafka ×1

broker ×1

java ×1

kafka-topic ×1

kotlin ×1