[rabbitmq-discuss] Custom Exchange Implementation

Alexis Richardson alexis.richardson at gmail.com
Wed Mar 25 15:33:33 GMT 2009


That's fascinating.  Can I ask what application you have that requires this?


On Wed, Mar 25, 2009 at 3:31 PM, Levi Greenspan
<greenspan.levi at googlemail.com> wrote:
> Dear list members,
> I have hacked together a custom exchange type, which supports bindings
> without a routing key similar to the fanout exchange type. When a
> publisher sends a message with routing key R, the message will be send
> to all queues bound to the exchange with key K=R. If no queue is found,
> one is randomly selected and a binding from this queue to the exchange
> with key R is added. Next time a message is send with routing key R, the
> very same queue will be used.
> Now, what I have come up with, works reasonably well in testing, however
> from looking at the code I am afraid the way its done is not safe in the
> face of parallel calls of rabbit_exchange:route, because I update the
> shared state (bindings table). Would it be better to create a separate
> process to handle all this?
> Maybe someone can give me a little help with this. I should add - what
> is certainly obvious already - that I am in no way a competent Erlang
> programmer or that I know much about RabbitMQ's internals. I would just
> like to get a second opinion about this issue before I run into trouble
> in production ;-)
> Many thanks,
> Levi
> _______________________________________________
> rabbitmq-discuss mailing list
> rabbitmq-discuss at lists.rabbitmq.com
> http://lists.rabbitmq.com/cgi-bin/mailman/listinfo/rabbitmq-discuss

More information about the rabbitmq-discuss mailing list