kotlin Kstream转换值不明确

mdfafbf1  于 2022-12-04  发布在  Kotlin
关注(0)|答案(1)|浏览(128)

我在KStream中遇到方法不明确问题。
其实我不明白有什么不对。

.toStream()
        .transformValues(
            ValueTransformerWithKeySupplier<String, CandleDto, CandleDto> {
                SuppressTransformer<String, CandleDto, CandleDto>(
                    Duration.ofMinutes(5),
                    "supress-store",
                    Duration.ofSeconds(5))
            },
            "suppress-store"
        )

这段代码的结果如下:

class SuppressTransformer<K, V, VR>(
    private val windowSize: Duration,
    private val storeName: String,
    private val scheduleTime: Duration
) : ValueTransformerWithKey<K, V, VR> {
    // Implementation
}
nnsrf1az

nnsrf1az1#

更新:我刚刚意识到什么是错的(因为我是盲人)。谢谢@OneCricketeer,你的回答迫使我再次查看日志:-)
由于在转换前使用了窗口操作而导致错误并且必须在开始转换前Map值
现在它是可编译的:

.map { key, value -> KeyValue.pair(key.key(), Mapper.toCandle(value)) }
        .transformValues(
            ValueTransformerWithKeySupplier<String, Candle, Candle> {
                SuppressTransformer<String, Candle,Candle>(
                    Duration.ofMinutes(5),
                    "suppress-store",
                    Duration.ofSeconds(5))
            },
            "suppress-store"
        )

相关问题