[rabbitmq-discuss] Channel crashes after basic.cancel_ok.

Ben Hood 0x6e6562 at gmail.com
Wed May 7 23:16:19 BST 2008


Edwin,

On 7 May 2008, at 23:05, Edwin Fine wrote:
> Umm, I haven't used the direct client at all because I have a whole  
> complex application set up and it would have to run on the same  
> Erlang node as RabbitMQ, if I understand how the direct client works.

That's right. It uses native Erlang message passing instead of TCP in  
a way that is transparent to the client. As a direct client you can  
think of Rabbit as being an embedded broker, like the way ActiveMQ is  
often run in the same process and the client.

> I would have to attach to the Rabbit node, set up all the right  
> paths, and then start my application. I'll try that and if there are  
> not too many complications (e.g. something silly like something in  
> my application might expect a specific node name), I will let you  
> know what happens.

You don't necessarily need to attach to a node.  You *should* be able  
to use the direct client in exactly the same way as the TCP client.  
 From the client's prespective the API calls are exactly the same. All  
you need to do is to boot Rabbit in the same VM and the client  
process, which means just adding a few arguments to the Erlang  
runtime, e.g.

erl -pa $PATH_TO_RABBIT_EBIN_DIR $PATH_TO_YOUR_CLIENT_EBIN_DIR -mnesia  
dir $MNESIA_DIR -boot start_sasl -s rabbit

Ben




More information about the rabbitmq-discuss mailing list