Uploaded image for project: 'Flink'
  1. Flink
  2. FLINK-4879

class KafkaTableSource should be public just like KafkaTableSink

    XMLWordPrintableJSON

Details

    Description

      class KafkaTableSource should be public just like KafkaTableSink,by default,it's modifier is default ,and we cann't access out of it's package,
      for example:

      def createKafkaTableSource(
            topic: String,
            properties: Properties,
            deserializationSchema: DeserializationSchema[Row],
            fieldsNames: Array[String],
            typeInfo: Array[TypeInformation[_]]): KafkaTableSource = {
      
          if (deserializationSchema != null) {
            new Kafka09TableSource(topic, properties, deserializationSchema, fieldsNames, typeInfo)
          } else {
            new Kafka09JsonTableSource(topic, properties, fieldsNames, typeInfo)
          }
        }
      

      Because of the class KafkaTableSource modifier is default,we cann't define this function result type with KafkaTableSource ,we must give the specific type.
      if some other kafka source extends KafkaTableSource ,and we don't sure which subclass of KafkaTableSource should be use,how can we specific the type?

      Attachments

        Issue Links

          Activity

            People

              Unassigned Unassigned
              yuemeng yuemeng
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: