Вместо получения classOf
из T
вы можете потребовать неявное TypeInformation[T]
как часть объявления Foo
:
class Foo[T](implicit typeInformation: TypeInformation[T]) extends DeserializationSchema[T] {
override def getProducedType: TypeInformation[T] = typeInformation
override def deserialize(message: Array[Byte]): T = ???
override def isEndOfStream(nextElement: T): Boolean = ???
}