[rabbitmq-discuss] Calls to management functions

Matthias Radestock matthias at lshift.net
Mon Jul 9 09:56:49 BST 2007


Ben,

"Ben Hood" <0x6e6562 at gmail.com> writes:

>> Are the rfc4627 libs on your erlang load path?
>
> No, I don't think that they are. I assume that if it was, then
>
> 6> code:load_file(rfc4627).
> {error,nofile}
>
> would not return a nofile.

Correct. In that case com.rabbitmq.tools.Manager will definitely fail,
since RabbitMQ needs the rfc4627 libs for marshalling/unmarshalling.

You can download the rfc4627 libs from
  http://www.lshift.net/~tonyg/rfc4627-1.0.3.tar.gz
or get them via darcs from
  http://www.lshift.net/~tonyg/erlang-rfc4627/

> Actually I am thinking of restating my problem. What I would like to
> achieve is to invoke:
>
> a) RPC calls against my own application API
> b) Management calls to administer users on the exchange
>
> I would also prefer to just use AMQP as a transport rather than bring
> in HTTP on the side (isn't that the whole point of having an AMQP
> client?).
>
> To achieve (a) I think I can use the binary RPC mechanism (that I've
> just got to work) and I can use Hessian as a wireformat  (which is my
> preferred encoding). This actually seems to work.

The above approach seems reasonable.

> To achieve (b), maybe I can use the same as (a), but implement my own
> listener that invokes the rabbit internal API (don't know whether this
> is re-inventing the wheel).

Indeed that would be re-inventing the wheel. I prefer your original
approach of using RabbitMQ's management service. Yes it is experimental
and incomplete, but it is a reasonable foundation you can build on. We'd
be happy to incorporate your enhancements into the main code base.


Matthias.




More information about the rabbitmq-discuss mailing list