Author: markt Date: Thu Dec 12 19:29:03 2013 New Revision: 1550503 URL: http://svn.apache.org/r1550503 Log: Make the trace resources accessible via JMX.
Modified: tomcat/trunk/java/org/apache/catalina/webresources/StandardRoot.java tomcat/trunk/java/org/apache/catalina/webresources/TraceWrapperInputStream.java tomcat/trunk/java/org/apache/catalina/webresources/mbeans-descriptors.xml Modified: tomcat/trunk/java/org/apache/catalina/webresources/StandardRoot.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/webresources/StandardRoot.java?rev=1550503&r1=1550502&r2=1550503&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/catalina/webresources/StandardRoot.java (original) +++ tomcat/trunk/java/org/apache/catalina/webresources/StandardRoot.java Thu Dec 12 19:29:03 2013 @@ -486,6 +486,14 @@ public class StandardRoot extends Lifecy return traceLockedFiles; } + public List<String> getTraceResources() { + List<String> result = new ArrayList<>(tracedResources.size()); + for (WebResourceTraceWrapper traceWrapper : tracedResources) { + result.add(traceWrapper.toString()); + } + return result; + } + @Override public Context getContext() { return context; Modified: tomcat/trunk/java/org/apache/catalina/webresources/TraceWrapperInputStream.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/webresources/TraceWrapperInputStream.java?rev=1550503&r1=1550502&r2=1550503&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/catalina/webresources/TraceWrapperInputStream.java (original) +++ tomcat/trunk/java/org/apache/catalina/webresources/TraceWrapperInputStream.java Thu Dec 12 19:29:03 2013 @@ -18,6 +18,8 @@ package org.apache.catalina.webresources import java.io.IOException; import java.io.InputStream; +import java.io.PrintWriter; +import java.io.StringWriter; import org.apache.catalina.WebResourceRoot; import org.apache.catalina.WebResourceTraceWrapper; @@ -93,4 +95,18 @@ class TraceWrapperInputStream extends In public Exception getCreatedBy() { return creation; } + + @Override + public String toString() { + StringWriter sw = new StringWriter(); + PrintWriter pw = new PrintWriter(sw); + sw.append('['); + sw.append(name); + sw.append(']'); + sw.append(System.lineSeparator()); + creation.printStackTrace(pw); + pw.flush(); + + return sw.toString(); + } } Modified: tomcat/trunk/java/org/apache/catalina/webresources/mbeans-descriptors.xml URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/webresources/mbeans-descriptors.xml?rev=1550503&r1=1550502&r2=1550503&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/catalina/webresources/mbeans-descriptors.xml (original) +++ tomcat/trunk/java/org/apache/catalina/webresources/mbeans-descriptors.xml Thu Dec 12 19:29:03 2013 @@ -34,14 +34,19 @@ is="true" writeable="true"/> + <attribute name="stateName" + description="The current Lifecycle state of this object" + type="java.lang.String" + writeable="false"/> + <attribute name="traceLockedFiles" description="Does this resources implementation track requests that lock files?" type="boolean" writeable="true"/> - <attribute name="stateName" - description="The current Lifecycle state of this object" - type="java.lang.String" + <attribute name="traceResources" + description="List of resources currently being tracked for possible resource leaks" + type="java.util.List" writeable="false"/> </mbean> --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org