Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/382.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
Java StormSubmitter()执行拓扑,该拓扑在运行时从rabbitmq喷口读取数据_Java_Apache Storm - Fatal编程技术网

Java StormSubmitter()执行拓扑,该拓扑在运行时从rabbitmq喷口读取数据

Java StormSubmitter()执行拓扑,该拓扑在运行时从rabbitmq喷口读取数据,java,apache-storm,Java,Apache Storm,我使用的是一个从RabbitMQ队列读取数据的风暴喷口。我正在使用StormSubmitter从命令提示符向集群提交Storm拓扑。因此,在运行拓扑时,它应该等待喷口从队列中读取数据,但它不这样做 是因为拓扑无法在运行时读取数据吗 我以以下方式运行拓扑: TopologyBuilder=新TopologyBuilder; builder.setspoot槽口mqspoot,新槽口mqspoot; builder.setBolt槽口螺栓,新槽口螺栓 .ShuffleGroupingrabbitmq

我使用的是一个从RabbitMQ队列读取数据的风暴喷口。我正在使用StormSubmitter从命令提示符向集群提交Storm拓扑。因此,在运行拓扑时,它应该等待喷口从队列中读取数据,但它不这样做

是因为拓扑无法在运行时读取数据吗

我以以下方式运行拓扑: TopologyBuilder=新TopologyBuilder; builder.setspoot槽口mqspoot,新槽口mqspoot; builder.setBolt槽口螺栓,新槽口螺栓 .ShuffleGroupingrabbitmqpout; Config conf=新配置

    conf.put(Config.TOPOLOGY_WORKERS, 4);
    conf.put(Config.TOPOLOGY_DEBUG, true);

    try {
        System.out.println("TOPOLOGY submitted");
StormSubmitter.submitTopology("rabbittest3", conf, builder.createTopology());
    }
喷口正在从rabbitmq队列读取以下内容:

public void nextTuple() 
    {
    try
    {
    consumer = new QueueingConsumer(channel);            
        channel.basicConsume(QUEUE_NAME, true, consumer);

        while(true){          
            QueueingConsumer.Delivery delivery = consumer.nextDelivery();               
            String message = new String(delivery.getBody()); 
            collector.emit(new Values(new String(message)));      
              }   
    }

Storm拓扑当然可以在运行时通过喷口读取数据。你应该提供你尝试过的更多细节,因为这可能会帮助我们帮助你。你能在没有风暴的情况下创建到Rabbit的连接吗?预回迁数量如何?是否足够大?