Hi David,

I'm looking to use your code in my application but first I wanted to
ask you about Scala Actors versus LiftActors. I see you use the Scala
ones here. Why is that? Would it be better to use your Lift ones? I'm
expecting object creation in my app every few seconds and when
responding it would like to update Flot charts and various other
components using Comet.

Thanks for your advice,
Peter Robinett

On Jul 9, 2:36 pm, David Pollak <feeder.of.the.be...@gmail.com> wrote:
> On Mon, Jul 6, 2009 at 7:56 AM, Tobias Daub <hannes.flo...@gmx.li> wrote:
>
> > Hi List,
>
> > I wanna send a message to an Actor everytime a new "row" is created in a
> > specific table. The Actor is responsible to refresh a HTML page and
> > display all the items from the table.
>
> > How do I do that?
>
> In the Meta object for the model you want to track, override afterCreate to
> call a method that sends the row to an Actor:
>
> object Dog extends Dog with LongKeyedMetaMapper[Dog] with CRUDify[Long, Dog]
> {
>   override def afterCreate = createdRow _ :: super.afterCreate
>
>   private def createdRow(r: Dog) {
>     DogBroker ! r
>   }
>
> }
>
> The actor redistributes the update to all its listeners:
>
> object DogBroker extends Actor with ListenerManager {
>   var latestDog: Box[Dog] = Empty
>
>   def createUpdate = latestDog
>
>   override def highPriority = {
>     case d: Dog =>
>       latestDog = Full(d)
>       updateListeners()
>   }
>
>   this.start
>
> }
>
> And the comet component looks like:
>
> class Woof extends CometActor with CometListener {
>   private var dog: Box[Dog] = Empty
>
>   def render = <div>Dog: {dog.map(_.toString) openOr "None"}</div>
>
>   def registerWith = DogBroker
>
>   override def highPriority = {
>     case Full(d: Dog) =>
>       dog = Full(d)
>       reRender(false)
>   }
>
> }
>
> The full running source can be found 
> athttp://github.com/dpp/lift_1_1_sample/tree/record_ping
>
> Thanks,
>
> David
>
>
>
> > thanks.
>
> --
> Lift, the simply functional web frameworkhttp://liftweb.net
> Beginning Scalahttp://www.apress.com/book/view/1430219890
> Follow me:http://twitter.com/dpp
> Git some:http://github.com/dpp
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Lift" group.
To post to this group, send email to liftweb@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