我正在尝试创建一个可运行类来与线程一起使用。该类的目的是获取一个kafkastream并将一个函数应用于通过流的每个消息,但是当我尝试将流传递给该类时,会出现以下编译器错误:“scala:45:kafkastream类接受“类型参数”。
class streamOperator extends Runnable {
def run(f: String => Any, stream: KafkaStream) {
for (messageAndTopic <- stream) {
var message = new String(messageAndTopic.message)
f(message)
}
}
}
这是上课时间。问题一定与如何在scala中向类传递参数有关,但我对scala还是新手。
另外,是否可以使函数可运行?我假设传递给函数比传递给类更容易。
1条答案
按热度按时间cczfrluj1#
正如评论中所建议的那样,解决办法是通过Kafka团队[?]。在这种情况下?是
KafkaStream[Array[Byte], Array[Byte]]
. 我想KafkaStream[T]
也可以,但我认为如果可能的话,最好通过实际的类型。