Could the DriverManagerLeakPreventer help? https://github.com/eclipse/jetty.project/blob/master/jetty-util/src/main/java/org/eclipse/jetty/util/preventers/DriverManagerLeakPreventer.java
It will pin the DriverManager at the server side classloader. -- Joakim Erdfelt <[email protected]> webtide.com <http://www.webtide.com/> - intalio.com/jetty Expert advice, services and support from from the Jetty & CometD experts eclipse.org/jetty - cometd.org On Wed, Apr 30, 2014 at 9:31 AM, Andrew Eidsness <[email protected]> wrote: > Jetty is deployed on my server and is running as a stand-alone daemon. > I'm deploying the war by copying into the > webapps folder. > > Following the class loader references I think the problem is that > java.sql.DriverManager.registeredDrivers is keeping an > instance of my org.postgresql.Driver from each deployed instance. The > registeredDrivers member is an ArrayList of with > 8 instances of java.sql.DriverInfo each holding an instance of > org.postgresql.Driver. DriverManager was loaded by the > system class loader but the postgres Driver was loaded by the webapp's > loader. > > I think the fix is to stop deploying my postgres connector as part of the > webapp. I don't have a real reason for > deploying it that way, it was just for convenience when I was setting up > the project. I'll copy it into my jetty > deployment instead and see what happens. > > Thanks for your help. My main problem here is not being confident in how > I've setup things. I've used Google to find > documentation for small parts of various versions. However, I think I'm > making progress now. > > -Andrew > > On 14-04-30 11:48 AM, Jan Bartel wrote: > > Andrew, > > > > How are you running jetty? In a standalone distro, as the maven > > plugin, or via embedded code? I take it that the webapp is being > > unpacked to a tmp directory? > > > > It does sound as if the WebAppClassloader is being pinned. There > > should be a way with the heap dump tool to follow back to the objects > > that are keeping references to the WebAppClassLoaders, or follow the > > link from the doc page to the blog entry about classloader pinning, > > which describes how to use JVisualVM to hunt down the references. > > > > Jan > > > > > > > > On 1 May 2014 01:11, Andrew Eidsness <[email protected]> wrote: > >> My jetty server (9.1.4.v20140401) eventually runs out of memory after > I’ve > >> deployed the same war (during development) to the webapps folder. After > >> looking in the bugs database I think this might be happening because I’m > >> deploying jars inside the war’s lib folder. > >> > >> The reason I think this is that looking at the heap dump (in MAT) I can > see > >> 8 copies of classes from those bundled jars. Each of the instances was > >> loaded by a different instance of > >> org.eclipse.jetty.webapp.WebAppClassLoader. > >> > >> My theory is that when the war is redeployed a new instance of > >> WebAppClassLoader is created which then loads the new jar files. > >> > >> I think I’m doing something wrong, but haven’t been able to figure out > what. > >> I’m not sure how to get the old class loader’s to go away. > >> > >> I’ve tried using the leak preventer > >> ( > http://www.eclipse.org/jetty/documentation/current/preventing-memory-leaks.html > ) > >> by putting this into my jetty.xml file: > >> > >> <Call name="addBean"> > >> <Arg> > >> <New > >> class="org.eclipse.jetty.util.preventers.AppContextLeakPreventer"/> > >> </Arg> > >> </Call> > >> > >> But it didn’t seem to make a difference. > >> > >> Any ideas or pointers to appropriate documentation? > >> > >> Thanks, > >> -Andrew > >> > >> > >> _______________________________________________ > >> jetty-users mailing list > >> [email protected] > >> https://dev.eclipse.org/mailman/listinfo/jetty-users > >> > > > > > > > > _______________________________________________ > jetty-users mailing list > [email protected] > https://dev.eclipse.org/mailman/listinfo/jetty-users >
_______________________________________________ jetty-users mailing list [email protected] https://dev.eclipse.org/mailman/listinfo/jetty-users
