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
>> 
> 

Reply via email to