lol

i like that concept of "jordi's webapp classloader". Maybe i'll change the
name of my application for that ;P

I really never thought it was a Guice problem, redeploying applications sure
it's not that strange at Google HQ.

Looking at the console log i see this message when redeploying:

A C3P0Registry mbean is already registered. This probably means that an
application using c3p0 was undeployed, but not all PooledDataSources were
closed prior to undeployment. This may lead to resource leaks over time.
Please take care to close all PooledDataSources.

I guess i'll have to clean up some resources before reloading context..

On Tue, Nov 25, 2008 at 7:56 PM, Dhanji R. Prasanna <[EMAIL PROTECTED]>wrote:

>
> It's not Guice. It's because an instance of something (like a logger)
> from your application is being referenced by something outside your
> application.
>
> jordi's webapp classloader <- class <- *instance* <- something <-
> something's class <- a parent classloader
>
> As long as this strong reference chain exists, the JVM will not
> garbage collect jordi's webapp classloader. I doubt Hibernate or c3p0
> is to blame specifically--this can be caused by just about anything
> (most typically, a logging instance from commons-logging.jar in a
> parent CL).
>
> Dhanji.
>
> On Tue, Nov 25, 2008 at 10:49 AM, jordi <[EMAIL PROTECTED]> wrote:
> > I'm having similar problems using Guice with Struts 2 + Hibernate.
> >
> > I dunno if Guice is part of the problem, when the PermGen error appears
> > always is related to C3P0 pool created by Hibernate and the Logger stuff.
> >
> > jordi
> >
> > On Tue, Nov 25, 2008 at 7:41 PM, Dhanji R. Prasanna <[EMAIL PROTECTED]>
> > wrote:
> >>
> >> Looks like a permgen space problem. The additional 90MB sounds about
> >> right. It's just the old classloader is not being garbage collected
> >> because something is being held on to from a different classloader.
> >>
> >> This problem is difficult to track down.
> >>
> >> Dhanji.
> >>
> >> On Tue, Nov 25, 2008 at 10:17 AM, Pablo Ruggia <[EMAIL PROTECTED]>
> wrote:
> >> > For Guice and memory leaks, there is an interesting thread here:
> >> >
> http://www.mail-archive.com/[email protected]/msg00506.html
> >> >
> >> > Also I heard a lot of times that webapps leaking memory on redeploys
> are
> >> > caused by commons logging, you can take a look here:
> >> >
> http://wiki.apache.org/jakarta-commons/Logging/FrequentlyAskedQuestions
> >> >
> >> > Cheers !
> >> >
> >> > On Tue, Nov 25, 2008 at 3:59 PM, o_swas <[EMAIL PROTECTED]>
> wrote:
> >> >>
> >> >>
> >> >> Hello,
> >> >>
> >> >> I've been reading up on Guice quite a bit and I like what I see.
> >> >> Great work, Google!
> >> >>
> >> >> Like lots of folks we currently use Spring for DI, in addition to
> >> >> transaction management for Hibernate.  We have an application that is
> >> >> fairly large (large for  us, anyways) and has lots of Hibernate
> >> >> objects and Spring-based service beans.
> >> >>
> >> >> The application is deployed to Glassfish v2.  One continuing issue we
> >> >> have with this setup is a memory leak that occurs when ever we
> >> >> redeploy the application.  The application is deployed, but when we
> >> >> redeploy the application (without restarting Glassfish) memory usage
> >> >> increases by 90+ MB.  After a few redeploys, Glassfish runs out of
> >> >> memory and needs to be restarted.  Note that the application *does
> >> >> not* leak memory while it's running; it's only during redeploys that
> >> >> memory leaks.
> >> >>
> >> >> While I'm sure we have some of our in-house written code is to blame,
> >> >> I've long suspected that possibly Hibernate (due to the dynamic
> >> >> proxying that makes all the magic happen) and Spring are culprits in
> >> >> the memory leak.
> >> >>
> >> >> So, after explaining all this, here are my questions:
> >> >>
> >> >> 1.  Can anybody comment on how efficient (or inefficient) Guice is
> >> >> with memory and CPU?  Is Guice likely to have any better runtime
> >> >> performance than Spring, or use less memory during runtime?  Will
> >> >> Guice start up any faster (or slower) than Spring?
> >> >>
> >> >> 2.  Is there anything in Guice that might cause memory leaks in web
> >> >> application when the application is redeployed?  I see Guice uses
> >> >> parts of CGLIB, which I know a few years ago caused some nasty memory
> >> >> leaks in Hibernate (which I've since been fixed, I believe).
> >> >>
> >> >> 3.  In general, can anybody comment on overall runtime performance of
> >> >> Guice compared to Spring?  We don't really have any performance
> >> >> problems now, but I always like to be on the lookout to improve where
> >> >> we can and before we *need* to because the app couldn't scale with
> >> >> usage.
> >> >>
> >> >> Many thanks to Google for offering Guice!!
> >> >>
> >> >> -Ryan
> >> >>
> >> >>
> >> >>
> >> >>
> >> >>
> >> >
> >> >
> >> > >
> >> >
> >>
> >>
> >
> >
> > >
> >
>
> >
>

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"google-guice" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/google-guice?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to