java - 如何在 Storm 中发射和收集数组列表?

标签 java maven arraylist apache-storm

我有一个 arrayList,我想在另一个 bolt 中发送和接收它。 因此,正如我在另一篇文章中所建议的那样: 第一个 bolt :

collector.emit(new Values(listI));

下一个 bolt :

public void execute(Tuple tuple) {
ArrayList<Integer> i = (ArrayList<Integer>)tuple.getValue(0);
....
}

但我得到的不是大小为 4 的列表,而是大小为 0 的列表。 有什么想法吗?

最佳答案

不确定 listI 是什么类型(我假设是 ArrayList)。如果是这样,你的第一个 bolt 可能有这个:

@Override
public void execute(Tuple tuple, BasicOutputCollector collector) {
    List<Integer> listI = getSomeListOfIntegers();
    collector.emit(new Values(listI));
}

确保您也在 bolt 1 中声明了它:

@Override
public void declareOutputFields(OutputFieldsDeclarer declarer) {
    declarer.declare(new Fields("listI"));
}

然后在你的第二个 bolt 中:

@Override
public void execute(Tuple tuple, BasicOutputCollector collector) {
    List<Integer> listOfInts = (List<Integer>)tuple.getValue(0);
}

关于java - 如何在 Storm 中发射和收集数组列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35898575/

相关文章:

java - 如何从 Java Web 应用程序控制 NGINX?

maven - 在 buildnumber-maven-plugin 中切换 git 提供程序

java - 如何在不调用垃圾回收的情况下覆盖 ArrayList

java - 将 HashMap 转换为以逗号分隔的字符串

java - JDBC:查询结果并将批处理添加到另一个表中

java - Android中如何检查id是否存在?

java - 如何设置 Eclipse 以跟踪导入的 Maven 依赖项中方法的源代码?

java - 在java中的给定索引处有效地在ArrayList中添加元素

Java比较数组元素索引与索引

java - Maven 未下载插件