Of course I've been thinking along those lines. Java does get in the
way, however.  ClassLoaders are tricky, tricky things.

On 10/6/05, Peter Ertl <[EMAIL PROTECTED]> wrote:
> One of the main reasons for using Ruby instead of Tapestry is the short
> and quick development cycle.
> ruby: save + browse
> java: save + restart + init app + click through your app pages to get to
> the page before restart
>
> (visionary-mode = on)
>
> having a reload-capable classloader could eventually reduce the
> development cycle
> to a ruby-style one. just because other people didn't do it does not
> mean it's not possible.
>
> having a quick development cycle could also attract a huge group of
> people to
> use tapestry (instead of heavyweights like jsf)
>
> what you guys think? is it possible? having any great ideas?
>
>
>
> -----Ursprüngliche Nachricht-----
> Von: Hensley, Richard [mailto:[EMAIL PROTECTED]
> Gesendet: Donnerstag, 6. Oktober 2005 19:34
> An: Tapestry users
> Betreff: RE: OutOfMemoryError Tapestry 4.0
>
>
> Playing with class loaders in Java is kind like playing with fire with
> only a small bucket of water around.
>
> You can do it, but you will eventually get burnt.
>
> It would significantly change the semantics of how Tapestry currently
> works because class loaders are also namespace boundaries within java.
> As soon as you create a class loader, it can only access instances of
> classes within it's self of within it's parentage. So, if you create a
> discardable class loader, how would you implement methods like
> IRequestCycle.getPage() and make it compatible with a discardable class
> loader. Not an easy problem. Considering the pain in development mode is
> that you have to restart your server occasionally, I'm not convinced
> capsizing the boat would be worth it.
>
> Richard
>
> -----Original Message-----
> From: Peter Ertl [mailto:[EMAIL PROTECTED]
> Sent: Thursday, October 06, 2005 10:28 AM
> To: Tapestry users
> Subject: RE: OutOfMemoryError Tapestry 4.0
>
> <naive question>
>   wouldn't it be a good thing to use a
>   discardable class loader in dev-mode?
> </naive question>
>
>
> > --- Ursprüngliche Nachricht ---
> > Von: "Hensley, Richard" <[EMAIL PROTECTED]>
> > An: "Tapestry users" <tapestry-user@jakarta.apache.org>
> > Betreff: RE: OutOfMemoryError Tapestry 4.0
> > Datum: Thu, 6 Oct 2005 13:24:19 -0400
> >
> > Generated Classes are loaded into a class loader so they can be
> > instantiated by Tapestry and Hivemind. The only way to release the
> > generated classes is to release the class loader.
> >
> > I tried once to evict classes from a ClassLoader while I was doing
> > some Groovy stuff, according to the ClassLoader specification, it's
> > not possible to evict a class. After you think about it for a while,
> > you come to the conclusion that this is a good thing.
> >
> > I think that Hivemind and Tapestry load the generated classes into the
>
> > same class loader that owns the parent class of the generated class.
> > This class loader can not be released because it is owned by the
> > application container.
> > So, the real question is why are some many classes being generated.
> The
> > flag
> > noted by Howard below causes a class to be generated each time a page
> with
> > abstract properties is visited. When running in production, my
> experience
> > is
> > that the classes only get generated the first time they are needed.
> >
> > So, the next avenue of investigation is to figure out what the actual
> > generated classes are that were being reported as part of CtClass by
> > the memory leak tool.
> >
> > Richard
> >
> > -----Original Message-----
> > From: Leonardo Quijano Vincenzi [mailto:[EMAIL PROTECTED]
> > Sent: Thursday, October 06, 2005 10:10 AM
> > To: Tapestry users
> > Subject: Re: OutOfMemoryError Tapestry 4.0
> >
> > Howard Lewis Ship escribió:
> >
> > >That might be reasonable if you are running with
> > >-Dorg.apache.tapestry.disable-caching=true
> > >
> > >With caching disabled, Tapestry has to constantly create new enhanced
>
> > >subclasses for every page and every component.
> > >
> > >
> > Shouldn't it delete old classes?
> >
> >
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: [EMAIL PROTECTED]
> > For additional commands, e-mail: [EMAIL PROTECTED]
> >
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: [EMAIL PROTECTED]
> > For additional commands, e-mail: [EMAIL PROTECTED]
> >
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>
>


--
Howard M. Lewis Ship
Independent J2EE / Open-Source Java Consultant
Creator, Jakarta Tapestry
Creator, Jakarta HiveMind

Professional Tapestry training, mentoring, support
and project work.  http://howardlewisship.com

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to