David,
(This is a copy of an earlier reply to your Migration Guide post. I
didn't get any response there, so I'm listing it on this
thread since it seems somewhat related to the current discussion)
I attempted to follow your blog piece and rewrite the code in
Integrating Flex, BlazeDS, and Scala/Lift, at
http://flexonrails.net/?p=103.
Maybe I'm being a bit ambitious to redo this, but when I run just the
Lift portion (without Flex/BazeDS) and make a call to my LiftActor
implementation, nothing happens. Shouldn't the
messageHandler be called automatically (There is nothing to "start",
is there?). It doesn't when I trace through the code. What am I doing
wrong?
Here's my rewrite of Notifier using LiftActor:
class Notifier extends LiftActor{
val msgBroker = MessageBroker.getMessageBroker(null)
val clientID = UUIDUtils.createUUID()
val msg = new AsyncMessage()
var notificationsSent = 0;
val currentTime = new Date().getTime();
protected def messageHandler = {
case Notify =>{
msg.setDestination("notifications")
msg.setClientId(clientID)
msg.setTimestamp(currentTime)
msg.setBody(new Notification(notificationsSent, "Hello from
Scala/Lift", new Date()))
msgBroker.routeMessageToService(msg,null)
notificationsSent = 1
}
LAPinger.schedule(this, Notify, 500L)
}
}
case object Notify
class Notification(var id: Int, var message: String, var timesent:
Date){
def getId = id
def setId(id: Int) =
this.id = id
def getMessage = message
def setMessage(m: String) = message = m
def getTimesent = timesent
def setTimesent(t: Date) = timesent = t
}
I also have an XMLApiHelper with:
def dispatch: LiftRules.DispatchPF = {
case Req("webservices" :: c :: Nil, "", GetRequest)=> () =>
start_feed(c:String)
and start_feed simply calls new Notifiier().
Given this code, the URL:
http://localhost:8080/webservices/Notify
successfully calls into
start_feed and creates Notifier but the messageHandler isn't called.
Any help is appreciated?
Thanks,
Glenn
On Nov 10, 3:58 pm, David Pollak <
feeder.of.the.be...@gmail.com>
wrote:
> Can you code up a full working example of what you want to do and post it on
> GitHub?
>
>
>
> On Sat, Nov 7, 2009 at 10:15 AM, oshyshko <
oshys...@gmail.com> wrote:
>
> > Removing BlazeDS servlet from LiftFilter coverage is a bad idea:
> > If it is done so, lift-mapper creates separate transactions for all
> > operations.
>
> >
http://groups.google.com/group/liftweb/browse_thread/thread/e2c0dd2c5...
>
> > This means LiftFilter and BlazeDS servlet should become friends.
>
> > "LiftRules.passNotFoundToChain = true" is in my Boot.scala. The
> > response is:
> > ================================
> > HTTP/1.1 200 OK
> > Expires: Thu, 01 Jan 1970 00:00:00 GMT
> > Set-Cookie: JSESSIONID=1a8mg0498vrwd;Path=/
> > Content-Length: 0
> > Server: Jetty(6.1.21)
> > ================================
>
> > Note: if I remove LiftFilter, the servlet works fine.
>
> > Any ideas how to make LiftFilter not to intrude into BlazeDS deeds?
>
> > On Oct 31, 2:19 pm, Timothy Perrett <
timo...@getintheloop.eu> wrote:
> > > You needed to specify the passNotFoundToChain var, thats why you were
> > > getting the 404 originally - as you detail, its not needed to
> > > explicitly set the /messagebroker URL in your web.xml.
>
> --
> Lift, the simply functional web frameworkhttp://
liftweb.net
> Beginning Scalahttp://
www.apress.com/book/view/1430219890