[rabbitmq-discuss] Erlang Consumer Example
Matthias Radestock
matthias at rabbitmq.com
Mon Jul 30 10:52:07 BST 2012
Anton,
On 29/07/12 21:59, anton prokofiev wrote:
> On Sunday, 29 July 2012 21:21:06 UTC+2, anton prokofiev wrote:
> I tried to create a consumer in Erlang for RabbitMQ and get into
> big troubles.
> Looks like examples that are available in RabbitMQ website did not work.
*Which* example didn't work?
> Looks like I have found a correct solution:
>
> 1. I have implemented simple gen_server, that just print all messages to
> the stdout.
>
> 2. And to like this:
> {ok,Connection} = amqp_connection:start(ConnectionParams), % open
> connection with predefined params.
> {ok,Pid} = test_srv:start_link(), % Start our own consumer.
> {ok,Channel} =
> amqp_connection:open_channel(Connection,none,*{amqp_direct_consumer,[Pid]}*),
The above creates a channel with a default consumer. More typically
you'd associate consumers with particular subscriptions, as shown in
http://www.rabbitmq.com/erlang-client-user-guide.html#subscribing.
> Would it be better to create my own implementation of consume behavior,
> or handle them thought the message_info as it is now?
> Any recommendations?
Implementing your own instance of the amqp_gen_consumer behaviour is
probably the more "correct" approach, but it's a bit more work and if
the behaviour of the amqp_direct_consumer fits in well with the rest of
your system design then just use that.
Regards,
Matthias.
More information about the rabbitmq-discuss
mailing list