Class HeapdumpMvcEndpoint
- java.lang.Object
- org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter
- org.springframework.boot.actuate.endpoint.mvc.AbstractMvcEndpoint
- org.springframework.boot.actuate.endpoint.mvc.AbstractNamedMvcEndpoint
- org.springframework.boot.actuate.endpoint.mvc.HeapdumpMvcEndpoint
- All Implemented Interfaces:
org.springframework.beans.factory.Aware
,MvcEndpoint
,NamedMvcEndpoint
,org.springframework.context.EnvironmentAware
,org.springframework.web.servlet.config.annotation.WebMvcConfigurer
@ConfigurationProperties(prefix="endpoints.heapdump") @HypermediaDisabled public class HeapdumpMvcEndpoint extends AbstractNamedMvcEndpoint
MvcEndpoint
to expose heap dumps.- Since:
- 1.4.0
Nested Class Summary
Nested Classes Modifier and Type Class Description protected static interface
HeapdumpMvcEndpoint.HeapDumper
Strategy interface used to dump the heap to a file.protected static class
HeapdumpMvcEndpoint.HeapDumperUnavailableException
Exception to be thrown if theHeapdumpMvcEndpoint.HeapDumper
cannot be created.protected static class
HeapdumpMvcEndpoint.HotSpotDiagnosticMXBeanHeapDumper
HeapdumpMvcEndpoint.HeapDumper
that usescom.sun.management.HotSpotDiagnosticMXBean
available on Oracle and OpenJDK to dump the heap to a file.
Field Summary
Fields inherited from interface org.springframework.boot.actuate.endpoint.mvc.MvcEndpoint
DISABLED_RESPONSE
Constructor Summary
Constructors Modifier Constructor Description HeapdumpMvcEndpoint()
protected
HeapdumpMvcEndpoint(long timeout)
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected HeapdumpMvcEndpoint.HeapDumper
createHeapDumper()
Factory method used to create theHeapdumpMvcEndpoint.HeapDumper
.protected void
handle(File heapDumpFile, javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response)
Handle the heap dump file and respond.void
invoke(boolean live, javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response)
Methods inherited from class org.springframework.boot.actuate.endpoint.mvc.AbstractNamedMvcEndpoint
getName
Methods inherited from class org.springframework.boot.actuate.endpoint.mvc.AbstractMvcEndpoint
getEndpointType, getEnvironment, getPath, isEnabled, isSensitive, setEnabled, setEnvironment, setPath, setSensitive
Methods inherited from class org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter
addArgumentResolvers, addCorsMappings, addFormatters, addInterceptors, addResourceHandlers, addReturnValueHandlers, addViewControllers, configureAsyncSupport, configureContentNegotiation, configureDefaultServletHandling, configureHandlerExceptionResolvers, configureMessageConverters, configurePathMatch, configureViewResolvers, extendHandlerExceptionResolvers, extendMessageConverters, getMessageCodesResolver, getValidator
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface org.springframework.boot.actuate.endpoint.mvc.MvcEndpoint
getEndpointType, getPath, isSensitive
Constructor Detail
HeapdumpMvcEndpoint
public HeapdumpMvcEndpoint()
HeapdumpMvcEndpoint
protected HeapdumpMvcEndpoint(long timeout)
Method Detail
invoke
@RequestMapping(method=GET, produces="application/octet-stream") public void invoke(@RequestParam(defaultValue="true") boolean live, javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response) throws IOException, javax.servlet.ServletException
- Throws:
IOException
javax.servlet.ServletException
createHeapDumper
protected HeapdumpMvcEndpoint.HeapDumper createHeapDumper() throws HeapdumpMvcEndpoint.HeapDumperUnavailableException
Factory method used to create theHeapdumpMvcEndpoint.HeapDumper
.- Returns:
- the heap dumper to use
- Throws:
HeapdumpMvcEndpoint.HeapDumperUnavailableException
- if the heap dumper cannot be created
handle
protected void handle(File heapDumpFile, javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response) throws javax.servlet.ServletException, IOException
Handle the heap dump file and respond. By default this method will return the response as a GZip stream.- Parameters:
heapDumpFile
- the generated dump filerequest
- the HTTP requestresponse
- the HTTP response- Throws:
javax.servlet.ServletException
- on servlet errorIOException
- on IO error