That's interesting - my experience has been the opposite (that is, AMQP has been quite easy to work with), but I wonder if it's because I primarily use the Ruby clients (<a href="http://github.com/tmm1/amqp" rel="nofollow">http://github.com/tmm1/amqp</a> for asynchronous, <a href="http://github.com/celldee/bunny" rel="nofollow">http://github.com/celldee/bunny</a> for synchronous)?  I've also used the Erlang client a bit, which was somewhat trickier.  Maybe this should inspire me to start a blog and write up a tutorial.