Thanks! I came up with a solution, the .map / .transform just need the return types assigned:
.transform[String, ContentDataDto](filterMainCoverSupplier, FilterMainCoverSupplier.StateStoreName) Thanks! Björn > On 18. Jun 2017, at 16:56, Eno Thereska <eno.there...@gmail.com> wrote: > > Hi there, > > Yeah with 0.10.2 some Scala applications need to explicitly declare the type > of certain variables. See this: > http://docs.confluent.io/current/streams/upgrade-guide.html#scala > <http://docs.confluent.io/current/streams/upgrade-guide.html#scala> > > Thanks > Eno > >> On Jun 17, 2017, at 10:03 PM, Björn Häuser <bjoernhaeu...@gmail.com> wrote: >> >> Hi! >> >> I am maintaining an application which is written in Kafka and uses the >> kafka-streams library. >> >> As said in the topic, after trying to upgrade from 0.10.1.1 to 0.10.2.1, I >> am getting the following compilation error: >> >> [error] found : service.streams.transformers.FilterMainCoverSupplier >> [error] required: org.apache.kafka.streams.kstream.TransformerSupplier[_ >: >> String, _ >: ?0(in value x$1), org.apache.kafka.streams.KeyValue[?,?]] >> [error] Note: String <: Any (and >> service.streams.transformers.FilterMainCoverSupplier <: >> org.apache.kafka.streams.kstream.TransformerSupplier[String,dto.ContentDataDto,org.apache.kafka.streams.KeyValue[String,dto.ContentDataDto]]), >> but Java-defined trait TransformerSupplier is invariant in type K. >> [error] You may wish to investigate a wildcard type such as `_ <: Any`. (SLS >> 3.2.10) >> [error] Note: dto.ContentDataDto <: Any (and >> service.streams.transformers.FilterMainCoverSupplier <: >> org.apache.kafka.streams.kstream.TransformerSupplier[String,dto.ContentDataDto,org.apache.kafka.streams.KeyValue[String,dto.ContentDataDto]]), >> but Java-defined trait TransformerSupplier is invariant in type V. >> [error] You may wish to investigate a wildcard type such as `_ <: Any`. (SLS >> 3.2.10) >> [error] .transform(filterMainCover, >> FilterMainCoverSupplier.StateStoreName) >> >> The definition of the Transformer is as follows: >> >> class FilterMainCover extends Transformer[String, ContentDataDto, >> KeyValue[String, ContentDataDto]] { >> } >> >> The definition of the TransformerSupplier is as follows: >> >> class FilterMainCoverSupplier extends TransformerSupplier[String, >> ContentDataDto, KeyValue[String, ContentDataDto]] { >> >> override def get(): Transformer[String, ContentDataDto, KeyValue[String, >> ContentDataDto]] = new FilterMainCover() >> >> } >> >> >> I went through the confluent examples and could see that it is supposed to >> just work. Anyone got an Idea what I am doing wrong? >> >> Thanks >> Björn >> >