Why is compilation running with JRebel?
Also, how critical is JRebel to people getting their feet wet? When I was new 
to Lift, I used the default setting in the POM that caused a jetty hot redeploy 
when class files were updated. (Possibly earlier on I restarted jetty 
manually.) While that meant sitemap would be updated, after a number of 
restarts it would run out of PermGen memory. I only started using JRebel later.
The best of both worlds would be JRebel + manual hot redeploy, which it sounds 
like is possible with SBT, which Lift plans to switch to.


-------------------------------------
David Pollak<feeder.of.the.be...@gmail.com> wrote:

My development cycle has never worked well with JRebel.

First, I've got so many machines I do development on (5, 3 of which get
wiped each time Ubuntu releases a new version), getting all of those
machines set up with JRebel is something of a pain.  Further, having JRebel
run in some cases is *very bad* (e.g., any compilation takes 10x longer with
JRebel).

So, when I do use JRebel, it is generally a bad experience for me.  This is
based on the way I code.  First, I use a whole lot of for comprehensions in
my code.  The problem with for comprehensions is that they create a bunch of
anonymous inner classes that are named based on the order they appear in the
code.  This means that the classes for a given thing change and that leads
to incompatible class change issues.  Further, I write a lot of code in
traits that I mix into lots of different classes.  This also leads to less
than optimal results in JRebel (more incompatible class change issues.)  The
JRebel folks and Martin have worked to address the former issue, have not
completely eliminated it.

There's a further issue... JRebel doesn't work automatically with Lift.
Technically, it's costless, but you have to register it with ZeroTurnaround,
etc.  This means you start using JRebel after you've made a commitment to
Lift rather than during the early stages of using Lift.

So, based on our recent discussion about onboarding, some discussions Jeppe
and I have been having, and my non-JRebel-friendly development style, I
thought that there might be a way to address all of these issues at once.

On Tue, Mar 9, 2010 at 6:48 AM, Timothy Perrett <timo...@getintheloop.eu>wrote:

> No it doesn't work for sitemap... as thats loaded at boot only ;-) My point
> was that it can still be a good experience without JR for our users.
>
> Interesting what you were saying about your dev style... i'm usually the
> other way around and implement sitemap last as I see it as a concrete
> setting of my content.
>
> Cheers, Tim
>
>
> On 9 Mar 2010, at 11:20, Jeppe Nejsum Madsen wrote:
>
> > On Tue, Mar 9, 2010 at 12:08 PM, Timothy Perrett
> > <timo...@getintheloop.eu> wrote:
> >> BTW, with SBT, don't forget you can do:
> >>
> >> jetty-run
> >> (make changes to your code)
> >> prepare-webapp
> >>
> >> That will redeploy chnaged files / classses to the running jetty
> instance so
> >> development with SBT can still be slick without javarebel :-)
> >
> > But still this doesn't address the problem (I think?) of changing
> > things in Boot. Maybe I code differently from everybody else, but when
> > iterating new features, I always end up making lots of changes to
> > Sitemap. And afaik everyone of those changes requires a restart....
> >
> > For the rest I agree JRebel fits quite nicely (it does have it's
> > problems as David points out)
> >
> > /Jeppe
> >
> > --
> > 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.
>
>


-- 
Lift, the simply functional web framework http://liftweb.net
Beginning Scala http://www.apress.com/book/view/1430219890
Follow me: http://twitter.com/dpp
Surf the harmonics

-- 
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