Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/86.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Apache storm 如何在Storm Flux中配置通用参数_Apache Storm_Apache Storm Flux - Fatal编程技术网

Apache storm 如何在Storm Flux中配置通用参数

Apache storm 如何在Storm Flux中配置通用参数,apache-storm,apache-storm-flux,Apache Storm,Apache Storm Flux,我是一个关于风暴流量的新手,现在对如何在风暴流量中配置通用参数感到困惑。例如,org.apache.storm.kafka.spourt.KafkaSpout的定义如下: public class KafkaSpout<K, V> extends BaseRichSpout { .... } 我的问题是,为什么卡夫卡普特的泛型并列词没有任何配置 谢谢 我认为还没有人发现有必要在Flux中实现泛型支持 回想一下,在Java中,您可以自由地使用“原始类型”(尽管这通常不

我是一个关于风暴流量的新手,现在对如何在风暴流量中配置通用参数感到困惑。例如,org.apache.storm.kafka.spourt.KafkaSpout的定义如下:

 public class KafkaSpout<K, V> extends BaseRichSpout {

    ....

 }
我的问题是,为什么卡夫卡普特的泛型并列词没有任何配置


谢谢

我认为还没有人发现有必要在Flux中实现泛型支持

回想一下,在Java中,您可以自由地使用“原始类型”(尽管这通常不是一个好主意),也就是说,您可以执行
新建ArrayList()
,这就像您编写的
新建ArrayList()
。泛型可以帮助您更具体地指定要将哪些类型放入列表中,并允许您在编译时捕获类型错误


Flux更像是一种解释语言,因为您必须将拓扑提交给Flux才能知道yaml是否有效。那么泛型就没有什么意义了,特别是因为Flux在类型强制方面也非常自由。

谢谢。那么,回到KafkaSpout,我可以说Flux在编译时会执行从KafkaSpout到KafkaSpout的默认类型强制吗?Flux只使用KafkaSpout而不使用泛型参数,即KafkaSpout()。
  components:
    - id: "onlyValueRecordTranslator"
      className: "org.apache.storm.flux.examples.OnlyValueRecordTranslator"

    - id: "spoutConfigBuilder"
      className: "org.apache.storm.kafka.spout.KafkaSpoutConfig$Builder"
      constructorArgs:
         - "localhost:9092"
         - ["myKafkaTopic"]
      properties:
         - name: "firstPollOffsetStrategy"
           value: EARLIEST
         - name: "recordTranslator"
           ref: "onlyValueRecordTranslator"
      configMethods:
         - name: "setProp"
           args:
           - {
                 "key.deserializer" : "org.apache.kafka.common.serialization.StringDeserializer",
                 "value.deserializer": "org.apache.kafka.common.serialization.StringDeserializer"
             }

         - id: "spoutConfig"
           className: "org.apache.storm.kafka.spout.KafkaSpoutConfig"
           constructorArgs:
              - ref: "spoutConfigBuilder"

   config:
        topology.workers: 1

   # spout definitions
   spouts:
       - id: "kafka-spout"
         className: "org.apache.storm.kafka.spout.KafkaSpout"
         constructorArgs:
             - ref: "spoutConfig"