Java RabbitMQ storm spout无法连接到现有队列
我正在尝试构建一个带有喷口的storm/heron拓扑,该喷口从RabbitMQ队列获取数据并将其传递给一个螺栓,该螺栓将数据发送到另一个队列。我还在这里学习,所以我尝试以这个项目为例构建我的拓扑: 我的拓扑:Java RabbitMQ storm spout无法连接到现有队列,java,maven,rabbitmq,apache-storm,Java,Maven,Rabbitmq,Apache Storm,我正在尝试构建一个带有喷口的storm/heron拓扑,该喷口从RabbitMQ队列获取数据并将其传递给一个螺栓,该螺栓将数据发送到另一个队列。我还在这里学习,所以我尝试以这个项目为例构建我的拓扑: 我的拓扑: public class Topology { public static void main(String[] args) throws Exception { TopologyBuilder builder = new TopologyBuilder(
public class Topology {
public static void main(String[] args) throws Exception
{
TopologyBuilder builder = new TopologyBuilder();
QueueDeclaration qd = new ExclusiveQueueWithBinding("rabbit-heron-input", "rabbit-heron-input");
Scheme scheme = new BasicScheme();
builder.setSpout( "spout", new AMQPSpout("localhost", 5672, "guest", "guest", "/", qd, scheme));
builder.setBolt( "rabbitbolt", new EndBolt(),1 )
.shuffleGrouping("spout");
Config conf = new Config();
conf.setDebug(true);
conf.setNumWorkers(1);
conf.setMaxSpoutPending(5000);
try{
StormSubmitter.submitTopology("testingrabbitheron", conf, builder.createTopology() );
}
catch(AlreadyAliveException e){ }
}
}
My pom.xml:
<dependencies>
<dependency>
<groupId>com.twitter.heron</groupId>
<artifactId>heron-storm</artifactId>
<version>0.14.5.1</version>
</dependency>
<dependency>
<groupId>org.clojars.storm-amqp</groupId>
<artifactId>storm-amqp-spout</artifactId>
<version>0.2.7-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>org.clojars.pdoctor</groupId>
<artifactId>storm-json</artifactId>
<version>0.0.1</version>
</dependency>
<dependency>
<groupId>com.rabbitmq</groupId>
<artifactId>amqp-client</artifactId>
<version>3.0.2</version>
</dependency>
<dependency>
<groupId>org.apache.kafka</groupId>
<artifactId>kafka_2.10</artifactId>
<version>0.10.1.1</version>
</dependency>
</dependencies>
<repositories>
<repository>
<id>github-releases</id>
<url>http://oss.sonatype.org/content/repositories/github-releases/</url>
</repository>
<repository>
<id>clojars.org</id>
<url>http://clojars.org/repo</url>
</repository>
</repositories>
com.twitter.heron
苍鹭风暴
0.14.5.1
org.clojars.storm-amqp
风暴amqp喷口
0.2.7-快照
org.clojars.pdoptor
风暴json
0.0.1
com.rabbitmq
amqp客户端
3.0.2
org.apache.kafka
卡夫卡2.10
0.10.1.1
github发布
http://oss.sonatype.org/content/repositories/github-releases/
clojars.org
http://clojars.org/repo
我已经有了rabbitheron输入交换,它被绑定到带有路由键rabbitmq-heron-input的rabbitmq-heron输入队列中
每次激活此拓扑时,它总是创建一个新队列,而不是连接到现有队列。我尝试将消息发送到rabbitmq heron输入队列,但喷口未检测到该消息。当我查看RabbitMQ管理网页时,它显示了一个新的队列(名称类似于amq.gen-dWg3pmSodeL7lZ0coMAXNw),该队列有一个已连接的使用者(我假设是喷口,因为我在本地环境中工作)
有人能帮忙吗