私は交換設定がamq.topicで、そこに私のキーを指しているルーティングキーがあります。Camel RabbitMQはmsgをキューにルーティングするだけでなく、生成されたキューを作成します
私は休憩の終点で定義されたルートを持っています。私はjson {"sample": "sample"}のようなボディを持つそのエンドポイントへの呼び出しを行います。
rest("myendpoint")
.post()
.route()
.routeId(ROUTE_ID)
.log(ROUTE_ID + " started.")
.convertBodyTo(String.class)
.log("Receiving request with body=${body}")
.to("rabbitmq://rabbiturl:port/amq.topic?connectionFactory=rabbitmqConnectionFactory&autoDelete=false&routingKey=myroutingkey&declare=false&exchangeType=topic")
.log(ROUTE_ID + " ended.")
.end();
これは私が欲しいものを実現:私のREST呼び出しの本体は、ルーティングキーに基づいて、私のキューに行きますそのトピック交換機に送信されます。
問題:それはまた、私はskipqueuedeclare & skipexchangedeclareを試してみました、それはキューを生成している理由のアイデアを実行しています自動生成されたキュー
[ qtp86171426-28] RabbitMQProducer INFO Starting reply manager service RabbitMQReplyManagerTimeoutChecker[amq.topic]
[ qtp86171426-28] ReplyManagerSupport INFO Using temporary queue name: amq.gen-JGF0CKioQ6_MLA9uBNIOOQ
[ qtp86171426-28] CorrelationTimeoutMap INFO in putIfAbsent with key Camel-ID-L-VC-10050-58983-1467158153454-0-3
[nagerTimeoutChecker[amq.topic]] TemporaryQueueReplyHandler INFO in onTimeout with correlationId= Camel-ID-L-VC-10050-58983-1467158153454-0-3
[nagerTimeoutChecker[amq.topic]] ReplyManagerSupport WARN Timeout occurred after 20000 millis waiting for reply message with correlationID [Camel-ID-L-VC-10050-58983-1467158153454-0-3] on destination amq.gen-JGF0CKioQ6_MLA9uBNIOOQ. Setting ExchangeTimedOutException on (MessageId: ID-L-VC-10050-58983-1467158153454-0-2 on ExchangeId: ID-L-VC-10050-58983-1467158153454-0-1) and continue routing.
を作成します。誰にもアイデアはありますか?
私はそれを見つけ出しました。私はしましたか?(ExchangePattern.InOnly、 "rabbitmq:// rabbiturl:port/amq.topic?connectionFactory = rabbitmqConnectionFactory&autoDelete = false&routingKey = myroutingkey&declare = false&exchangeType = topic") – Ryan