We don't accept patches for legal reasons. However, I will upgrade the  
module today for you - giving a similar result.

Cheers, Tim

Sent from my iPhone

On 5 Jan 2010, at 04:29, Franz Bettag <fr...@bett.ag> wrote:

> Hey guys,
>
> i've just updated the amqp code. I started a pull request on github
> but that seems *not* to be the proper way *smirking @dpp's auto-
> reply*.
>
> Anyway here is the patch. The problem was that in version 1.5.0 of
> rabbitmq's library, the ticket-stuff was removed.
>
> diff --git a/lift-modules/lift-amqp/pom.xml b/lift-modules/lift-amqp/
> pom.xml
> index 9f4c1d5..424be0e 100644
> --- a/lift-modules/lift-amqp/pom.xml
> +++ b/lift-modules/lift-amqp/pom.xml
> @@ -32,6 +32,15 @@
>   </parent>
>   <artifactId>lift-amqp</artifactId>
>
> +  <repositories>
> +    <repository>
> +      <id>nexus.griddynamics.net</id>
> +      <name>Nexus Maven2 Repository</name>
> +      <url>https://nexus.griddynamics.net/nexus/content/groups/
> public</url>
> +    </repository>
> +  </repositories>
> +
> +
>   <!-- <properties/> -->
>
>   <!--
> @@ -55,8 +64,8 @@
>     </dependency>
>     <dependency>
>       <groupId>com.rabbitmq</groupId>
> -      <artifactId>rabbitmq-client</artifactId>
> -      <version>1.3.0</version>
> +      <artifactId>amqp-client</artifactId>
> +      <version>1.7.0</version>
>     </dependency>
>   </dependencies>
>
> diff --git a/lift-modules/lift-amqp/src/main/scala/net/liftweb/amqp/
> AMQPDispatcher.scala b/lift-modules/lift-amqp/src/main/scala/net/
> liftweb/amqp/AMQPDispatcher.scala
> index 26bca73..96c66c9 100644
> --- a/lift-modules/lift-amqp/src/main/scala/net/liftweb/amqp/
> AMQPDispatcher.scala
> +++ b/lift-modules/lift-amqp/src/main/scala/net/liftweb/amqp/
> AMQPDispatcher.scala
> @@ -91,7 +91,7 @@ abstract class AMQPDispatcher[T](cf:
> ConnectionFactory, host: String, port: Int)
> class SerializedConsumer[T](channel: Channel, a: LiftActor) extends
> DefaultConsumer(channel) {
>   override def handleDelivery(tag: String, env: Envelope, props:
> AMQP.BasicProperties, body: Array[Byte]) {
>     val routingKey = env.getRoutingKey
> -    val contentType = props.contentType
> +    val contentType = props.getContentType
>     val deliveryTag = env.getDeliveryTag
>     val in = new ObjectInputStream(new ByteArrayInputStream(body))
>     val t = in.readObject.asInstanceOf[T];
> @@ -109,14 +109,12 @@ class SerializedConsumer[T](channel: Channel, a:
> LiftActor) extends DefaultConsu
> class ExampleSerializedAMQPDispatcher[T](factory: ConnectionFactory,
> host: String, port: Int)
>     extends AMQPDispatcher[T](factory, host, port) {
>   override def configure(channel: Channel) {
> -    // Get the ticket.
> -    val ticket = channel.accessRequest("/data")
>     // Set up the exchange and queue
> -    channel.exchangeDeclare(ticket, "mult", "direct")
> -    channel.queueDeclare(ticket, "mult_queue")
> -    channel.queueBind(ticket, "mult_queue", "mult", "routeroute")
> +    channel.exchangeDeclare("mult", "direct")
> +    channel.queueDeclare("mult_queue")
> +    channel.queueBind("mult_queue", "mult", "routeroute")
>     // Use the short version of the basicConsume method for
> convenience.
> -    channel.basicConsume(ticket, "mult_queue", false, new
> SerializedConsumer(channel, this))
> +    channel.basicConsume("mult_queue", false, new SerializedConsumer
> (channel, this))
>   }
> }
>
> diff --git a/lift-modules/lift-amqp/src/main/scala/net/liftweb/amqp/
> AMQPSender.scala b/lift-modules/lift-amqp/src/main/scala/net/liftweb/
> amqp/AMQPSender.scala
> index 2c60ed6..dc29a2a 100644
> --- a/lift-modules/lift-amqp/src/main/scala/net/liftweb/amqp/
> AMQPSender.scala
> +++ b/lift-modules/lift-amqp/src/main/scala/net/liftweb/amqp/
> AMQPSender.scala
> @@ -14,11 +14,6 @@ import _root_.java.io.ObjectOutputStream
> abstract class AMQPSender[T](cf: ConnectionFactory, host: String,
> port: Int, exchange: String, routingKey: String) extends LiftActor {
>   val conn = cf.newConnection(host, port)
>   val channel = conn.createChannel()
> -  val ticket = configure(channel)
> -  /**
> -   * Override this to use your own AMQP queue/exchange with the given
> channel.
> -   */
> -  def configure(channel: Channel): Int
>
>   def send(msg: T) {
>     // Now write an object to a byte array and shove it across the
> wire.
> @@ -26,7 +21,7 @@ abstract class AMQPSender[T](cf: ConnectionFactory,
> host: String, port: Int, exc
>     val store = new ObjectOutputStream(bytes)
>     store.writeObject(msg)
>     store.close
> -    channel.basicPublish(ticket, exchange, routingKey, null,
> bytes.toByteArray)
> +    channel.basicPublish(exchange, routingKey, null,
> bytes.toByteArray)
>   }
>
>   protected def messageHandler = {
> @@ -46,12 +41,6 @@ abstract class AMQPSender[T](cf: ConnectionFactory,
> host: String, port: Int, exc
>  * consider creating Actor-based Senders, that will help your
> application to scale.
>  */
> class StringAMQPSender(cf: ConnectionFactory, host: String, port:
> Int, exchange: String, routingKey: String) extends AMQPSender[String]
> (cf, host, port, exchange, routingKey) {
> -  override def configure(channel: Channel) = {
> -    val conn = cf.newConnection(host, port)
> -    val channel = conn.createChannel()
> -    val ticket = channel.accessRequest("/data")
> -    ticket
> -  }
> }
>
> /**
> @@ -90,13 +79,12 @@ object ExampleDirectAMQPSender {
>     val factory = new ConnectionFactory(params)
>     val conn = factory.newConnection(host, port)
>     val channel = conn.createChannel()
> -    val ticket = channel.accessRequest("/data")
>     // Now write an object to a byte array and shove it across the
> wire.
>     val bytes = new ByteArrayOutputStream
>     val store = new ObjectOutputStream(bytes)
>     store.writeObject(msg)
>     store.close
> -    channel.basicPublish(ticket, "mult", "routeroute", null,
> bytes.toByteArray)
> +    channel.basicPublish("mult", "routeroute", null,
> bytes.toByteArray)
>   }
> }
>
>
> On 5 Jan., 04:34, vishnu <path...@gmail.com> wrote:
>> well I'm not sure how to describe it differently. As you said it's  
>> only
>> service tier. The truth is I dont know anything about Lift yet and  
>> Im just
>> now running through some basic Scala books.
>>
>> I need a library with which to talk to rabbitmq as a subscriber  
>> that might
>> work at a higher level than the default java api that comes with  
>> rabbitmq
>> and ideally something that provides the same service for me talk to a
>> database via scala. I haven't seen Akka before, so I'll take a look  
>> at that
>> :). Would you say mapper is worth it?
>>
>> On Tue, Jan 5, 2010 at 2:23 AM, Timothy Perrett  
>> <timo...@getintheloop.eu>wrote:
>>
>>> It depends on your use case... you don't really describe exactly  
>>> what you
>>> want to do. Perhaps start by providing more detail? If you want  
>>> service teir
>>> *only* though, its quite probable that akka would be a better fix.
>>
>>> Cheers, Tim
>>
>>> On 4 Jan 2010, at 20:30, Channing Walton wrote:
>>
>>>> Maybe Akka would be better for you?http://akkasource.org/
>>>> "Akka has an AMQP module which abstracts AMQP Producer and  
>>>> Consumer as
>>>> Actors."
>>
>>>> Channing
>>
>>>> vishnu-11 wrote:
>>
>>>>> Hi
>>>>>   I'm trying to use lift to right a back end for a system that
>>>>> communicates via AMQP. The idea is to have a bunch of (threads?,
>>>>> processes? actors?) that subscribe to some queues on a queueing  
>>>>> system
>>>>> and react to various messages by contacting various third party
>>>>> systems and persisting messages to a database.
>>
>>>>> I was wondering firstly if it makes sense to use lift, or if it  
>>>>> makes
>>>>> more sense to pull various parts out of lift and use them?
>>
>>>>> Additionally, looking at the lift amqp code, it seems to be a  
>>>>> little
>>>>> out of date, especially with regard to amqp. Does anyone know if  
>>>>> there
>>>>> has been any active work on this segment?
>>
>>>>> --
>>
>>>>> You received this message because you are subscribed to the Google
>>> Groups
>>>>> "Lift" group.
>>>>> To post to this group, send email to lift...@googlegroups.com.
>>>>> To unsubscribe from this group, send email to
>>>>> liftweb+unsubscr...@googlegroups.com<liftweb 
>>>>> %2bunsubscr...@googlegroups.com>
>>> .
>>>>> For more options, visit this group at
>>>>> http://groups.google.com/group/liftweb?hl=en.
>>
>>>> --
>>>> View this message in context:
>>> http://old.nabble.com/Lift-based-backend-server-subscribing-via-amqp- 
>>> ...
>>>> Sent from the liftweb mailing list archive at Nabble.com.
>>
>>>> --
>>
>>>> You received this message because you are subscribed to the  
>>>> Google Groups
>>> "Lift" group.
>>>> To post to this group, send email to lift...@googlegroups.com.
>>>> To unsubscribe from this group, send email to
>>> liftweb+unsubscr...@googlegroups.com<liftweb 
>>> %2bunsubscr...@googlegroups.com>
>>> .
>>>> For more options, visit this group at
>>> http://groups.google.com/group/liftweb?hl=en.
>>
>>> --
>>
>>> You received this message because you are subscribed to the Google  
>>> Groups
>>> "Lift" group.
>>> To post to this group, send email to lift...@googlegroups.com.
>>> To unsubscribe from this group, send email to
>>> liftweb+unsubscr...@googlegroups.com<liftweb 
>>> %2bunsubscr...@googlegroups.com>
>>> .
>>> For more options, visit this group at
>>> http://groups.google.com/group/liftweb?hl=en.
>
> --
>
> You received this message because you are subscribed to the Google  
> Groups "Lift" group.
> To post to this group, send email to lift...@googlegroups.com.
> To unsubscribe from this group, send email to 
> liftweb+unsubscr...@googlegroups.com 
> .
> For more options, visit this group at 
> http://groups.google.com/group/liftweb?hl=en 
> .
>
>
>

--

You received this message because you are subscribed to the Google Groups 
"Lift" group.
To post to this group, send email to lift...@googlegroups.com.
To unsubscribe from this group, send email to 
liftweb+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/liftweb?hl=en.


Reply via email to