Sorry, the right initial address for Plumbr is http://plumbr.eu/

On Sunday, November 17, 2013 9:33 PM Jacques Le Roux 
<jacques.le.r...@les7arts.com> wrote:
> BTW, I have installed Plumbr https://portal.plumbr.eu/ into the trunk demo 
> (don't ask how :D )
> It's running for more than a week, any leaks (no surprises)
> 
> Jacques
> 
> On Sunday, November 17, 2013 7:53 PM jler...@apache.org <jler...@apache.org> 
> wrote:
>> Author: jleroux
>> Date: Sun Nov 17 18:53:17 2013
>> New Revision: 1542795
>> 
>> URL: http://svn.apache.org/r1542795
>> Log:
>> Adds the JreMemoryLeakPreventionListener, see 
>> https://issues.apache.org/jira/browse/OFBIZ-5395 for details
>> 
>> Modified:
>>    
>> ofbiz/trunk/framework/catalina/src/org/ofbiz/catalina/container/CatalinaContainer.java
>> 
>> Modified: 
>> ofbiz/trunk/framework/catalina/src/org/ofbiz/catalina/container/CatalinaContainer.java
>> URL:
>> http://svn.apache.org/viewvc/ofbiz/trunk/framework/catalina/src/org/ofbiz/catalina/container/CatalinaContainer.java?rev=1542795&r1=1542794&r2=1542795&view=diff
>> ==============================================================================
>>  ---
>> ofbiz/trunk/framework/catalina/src/org/ofbiz/catalina/container/CatalinaContainer.java
>>  (original) +++
>> ofbiz/trunk/framework/catalina/src/org/ofbiz/catalina/container/CatalinaContainer.java
>>  Sun Nov 17 18:53:17 2013 @@ -44,6 +44,7 @@
>> import org.apache.catalina.Host;
>> import org.apache.catalina.LifecycleException;
>> import org.apache.catalina.Manager;
>> import org.apache.catalina.connector.Connector;
>> +import org.apache.catalina.core.JreMemoryLeakPreventionListener;
>> import org.apache.catalina.core.StandardContext;
>> import org.apache.catalina.core.StandardEngine;
>> import org.apache.catalina.core.StandardHost;
>> @@ -140,7 +141,7 @@ import org.xml.sax.SAXException;
>>  */
>> 
>> /**
>> - * CatalinaContainer -  Tomcat 5
>> + * CatalinaContainer -  Tomcat
>>  *
>>  */
>> public class CatalinaContainer implements Container {
>> @@ -206,6 +207,17 @@ public class CatalinaContainer implement
>>             tomcat.enableNaming();
>>         }
>> 
>> +        //
>> https://tomcat.apache.org/tomcat-7.0-doc/config/listeners.html#JRE_Memory_Leak_Prevention_Listener_-_org.apache.catalina.core.JreMemoryLeakPreventionListener
>> +        // <<The JRE Memory Leak Prevention Listener provides work-arounds 
>> for known places where the Java Runtime environment
>> uses +        // the context class loader to load a singleton as this will 
>> cause a memory leak if a web application class loader
>> happens +        // to be the context class loader at the time.>> +        //
>> http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/core/JreMemoryLeakPreventionListener.java?view=annotate
>>  +
>> JreMemoryLeakPreventionListener jreMemoryLeakPreventionListener = new 
>> JreMemoryLeakPreventionListener(); +        // Mostly use
>> default config, but some specific cases here +        
>> jreMemoryLeakPreventionListener.setAppContextProtection(true); // True is
>> the default for Java 1.6, use false for Java from 1.7.0_02 onwards (see 
>> sources above) +
>> jreMemoryLeakPreventionListener.setGcDaemonProtection(false); // False 
>> because of
>> https://mail-archives.apache.org/mod_mbox/tomcat-users/201008.mbox/%3CAANLkTino=bjp5lsbcwncb2hvndzyklr5y-8ywdt15...@mail.gmail.com%3E
>>         +        
>> jreMemoryLeakPreventionListener.setUrlCacheProtection(false); // False to 
>> keep the URLConnection cache, moot
>>         point + // configure JNDI in the StandardServer StandardServer 
>> server = (StandardServer) tomcat.getServer();
>>         try {
>> @@ -480,7 +492,7 @@ public class CatalinaContainer implement
>>         String protocol = ContainerConfig.getPropertyValue(connectorProp, 
>> "protocol", "HTTP/1.1");
>>         String address = ContainerConfig.getPropertyValue(connectorProp, 
>> "address", "0.0.0.0");
>>         int port = ContainerConfig.getPropertyValue(connectorProp, "port", 
>> 0) + ClassLoaderContainer.portOffset;
>> -
>> +
>>         boolean secure = ContainerConfig.getPropertyValue(connectorProp, 
>> "secure", false);
>>         if (protocol.toLowerCase().startsWith("ajp")) {
>>             protocol = "ajp";
>> @@ -540,7 +552,7 @@ public class CatalinaContainer implement
>> 
>>             try {
>>                 for (ContainerConfig.Container.Property prop: 
>> connectorProp.properties.values()) {
>> -                    if ("port".equals(prop.name)) {
>> +                    if ("port".equals(prop.name)) {
>>                         connector.setProperty(prop.name, "" + port);
>>                     } else {
>>                         connector.setProperty(prop.name, prop.value);

Reply via email to