2012-08-28 3 views
0

내 테스트 rabbitmq 환경에서 대기열 D4가 있습니다.
주제 교환을 사용하여 메시지를 D4 대기열에 게시하고 싶습니다.
웹 관리 콘솔에서 라우팅 키 K로 큐 D4에 메시지를 바인딩했습니다.
그러나 내 메시지가 D4 큐에 전달되지 않습니다.
주제를 직접 교환으로 변경하면 모두 괜찮습니다.
내 코드에 어떤 문제가 있습니까?Rabbitmq 주제 오해

ExchangeName = <<"custom.topic">>, 
ExchangeType = <<"topic">>, 
Key = <<"K">>, 
Msg = <<"123">>, 
{ok, Connection} = amqp_connection:start 
    (#amqp_params_network{username = <<"guest">>, password = <<"guest">>, host = "192.168.1.1"}), 
{ok, Channel} = amqp_connection:open_channel(Connection), 
#'exchange.declare_ok'{} = 
    amqp_channel:call(Channel, #'exchange.declare'{exchange=ExchangeName, durable=true, type = ExchangeType}), 
amqp_channel:call(Channel, #'basic.publish'{routing_key = Key}, #amqp_msg{props = #'P_basic'{delivery_mode=2}, payload = Msg}), 

답변

0

직접 오류가 발생했습니다.

amqp_channel : 전화 (채널, # 'basic.publish'{교환 = ExchangeName, routing_key = 키}, #amqp_msg {소품 = # 'P_basic'{delivery_mode = 2}, 페이로드 = 메시지})