私はcentos5.6でrabbitmq-cに接続し、次のWebサイトの手順に従ってcクライアントでその機能をテストしようとしています:http ://www.rabbitmq.com/tutorials/tutorial-one-java.html 。ただし、デフォルトの交換を使用すると失敗します。
たとえば、「(AMQPdefault)」という名前のデフォルトの交換を介して「myqueue」という名前のキューに「Helloworld」というメッセージを送信したいとします。
Javaでは、次のコードがあります。
channel.basicPublish("", QUEUE_NAME, null, message.getBytes());
しかし、cでは、 https://github.com/liuhaobupt/rabbitmq_work_queues_demo-with-rabbit-c-client-libの例としてrmq_new_task.c(amqp_sendstring.cとほぼ同じ)を実行すると。
queuename="myqueue";
......
die_on_error(amqp_basic_publish(conn, amqp_cstring_bytes(exchange),
amqp_cstring_bytes(routingkey), &props, amqp_cstring_bytes("Hello world")),
"Publishing");
Javaクライアントでは、パラメータ「exchange」を「」に設定して、デフォルトの交換を介してroutingkeyと同じ名前の指定されたキューにメッセージを送信することをサーバーに通知します。
では、(デフォルトの交換を使用して)cクライアントで2番目のパラメーター「exchange」にどのような値を指定する必要がありますか?「」または「amq.direct」に設定してみました。実行中にエラーは表示されず、正常に機能しているように見えました。
しかし、rabbitmq-management(http:// localhost:55672 /#/ queues)をチェックインしたとき、「myqueue」という名前のキューは存在しませんでした。
誰かが私を正しい方向に向けてくれませんか?本当にありがたいです!