[rabbitmq-discuss] CL-RABBIT - LispWorks to RabbitMQ via JFLI

Michael Arnoldus chime at mu.dk
Fri Apr 3 07:43:22 BST 2009


Hi Nick,

Good to see this out. Thank you for doing the work  :-)

Michael

On Apr 2, 2009, at 12:17 , Nick Levine wrote:

> I am very pleased to announce the release of version 0.1 of CL-RABBIT:
> an interface from LispWorks to RabbitMQ, an implementation of the AMQP
> messaging protocol.
>
> http://www.rabbitmq.com/
> http://www.amqp.org/
>
> It's released under an MIT-style license, a copy of which appears in
> each source file. Many thanks to Wiinz Limited for giving me
> permission to do all this and I'm sorry it's taken so long to get
> around to kicking the brute through the door.
>
> http://www.nicklevine.org/cl-rabbit/
>
> Here's how it goes:
>
> - Open a connection and a channel (I'll be lazy and use the same
> channel for outgoing and incoming messages), declare exchange and
> queue, bind everything together:
>
>  RABBITMQ 6 > (setf my-connection (new-connection "localhost" "/"))
>  #<AMQCONNECTION. amqp://guest@localhost:5672/ 200DCD87>
>
>  RABBITMQ 7 > (setf my-channel (new-channel my-connection))
>  #<CHANNEL AMQChannel(amqp://guest@localhost:5672/,1) 200F7BB3>
>
>  RABBITMQ 8 > (declare-exchange my-channel "my exchange" :direct)
>  #<|com.rabbitmq.client.impl|::AMQIMPL$EXCHANGE$DECLAREOK. 2009159F>
>
>  RABBITMQ 9 > (declare-queue my-channel "my queue")
>  #<|com.rabbitmq.client.impl|::AMQIMPL$QUEUE$DECLAREOK. 21D050CF>
>
>  RABBITMQ 10 > (bind-queue my-channel "my queue" "my exchange" "my  
> routing key")
>  #<|com.rabbitmq.client.impl|::AMQIMPL$QUEUE$BINDOK. 21CEEFD3>
>
> - Send a message into the void:
>
>  RABBITMQ 11 > (setf outgoing-message (new-message))
>  #<OUTGOING-MESSAGE 21CE265B>
>
>  RABBITMQ 12 > (setf (message-id outgoing-message) "42"
> 			(message-body outgoing-message) "Hello, World")
>  "Hello, World"
>
>  RABBITMQ 13 > (publish outgoing-message my-channel "my exchange"  
> "my routing key")
>  NIL
>
> - And get it back again:
>
>  RABBITMQ 14 > (consume-queue my-channel "my queue")
>  "amq.ctag1_rabbit at gannet_20090402084407_"
>
>  RABBITMQ 15 > (channel-arrived-count my-channel)
>  1
>
>  RABBITMQ 16 > (setf incoming-message (next-message my-channel))
>  #<QUEUEINGCONSUMER$DELIVERY. 200E0E93>
>
>  RABBITMQ 17 > (values (message-body incoming-message)
> 			  (message-id incoming-message))
>  "Hello, World"
>  "42"
>
>  RABBITMQ 18 >
>
>
> _______________________________________________
> 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