I'm afraid I agree with Marius... I'm just not sure on the benefit
here over JRebel?
Cheers, Tim
Sent from my iPhone
On 9 Mar 2010, at 08:05, Marius <marius.dan...@gmail.com> wrote:
I'm having seconds thoughts about this. Development mode can mean
slightly different things depending on the nature of the application.
The things you enlisted are for me only PROS for not including this
feature.
Sorry but personally I don't see much value in this approach ... but
this doesn't mean other people wont. Yes JavaRebel is not perfect but
it does its job quite good and it is really helpful in most cases.
On Mar 9, 2:51 am, David Pollak <feeder.of.the.be...@gmail.com> wrote:
Folks,
I spent today "cracking the code" on how to implement a more
dynamic Lift
development cycle. Specifically, I figured out how to support
(during
development mode) having changes in compiled code reflected in the
running
application. The change to your Lift app will be a change in how
you do
things in Boot.scala. Basically, anything that could change
between page
loads will be wrapped as such in Boot:
LiftRules.dynamicDevelopmentMode(List("com.liftcode.model",
"com.liftcode.lib"))(() => {
LiftRules.dispatch.append {...}
LiftRules.setSiteMap(....)
})
The list is a list of packages to exclude from the dynamic reloading.
Because schemification isn't going to happen on every page reload,
it's best
not to reload the models.
The dynamic mode will impose the following limitations:
- Lift will only service one request at once in development mode
- Page loads in development mode will be 10x-50x slower than in
non-development mode
- Comet objects will not change once they've been instantiated
- There will cases where classes created in one classloader are
not
recognized as the same class for casting and/or pattern matching
purposes if
the classes are created across calls
- There may be problems related to running out of PermGen space
because
each page reload will cause all the applications classes to be
reloaded...
and this may happen faster than the classes are GCed.
With those limitations, do you guys thing the feature would be
valuable?
Should it be part of development mode or should there be another
demarcation
of the dynamic reload mode?
Thanks,
David
--
Lift, the simply functional web frameworkhttp://liftweb.net
Beginning Scalahttp://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.