我们有tomcat服务器和jsf。 JSF 客户端将从服务器请求图像并启动 AWT-Windows 线程。似乎会导致内存泄漏,因为线程 contextClassLoader 是 WebappClassLoader。
看起来调用 Java2DResource 会导致创建 AWT-Windows 线程 -
守护线程 [http-8080-1](暂停(进入线程中的方法))
Thread.(Runnable, String) line: 444
NativeConstructorAccessorImpl.newInstance(Object[]) 行:39
DelegatingConstructorAccessorImpl.newInstance(Object[]) 行:27
Constructor.newInstance(Object...) 行:513
Class.newInstance0() 行:355
Class.newInstance() 行:308
Toolkit$2.run() 行:846
AccessController.doPrivileged(PrivilegedAction) 行:不可用 [本机方法]
Toolkit.getDefaultToolkit() 行:826
D3DGraphicsDevice.() 行:47
SurfaceManagerFactory.createCachingManager(BufferedImage) 行:48
SurfaceManager.getManager(Image) 行:54
SurfaceData.getDestSurfaceData(Image) 行:123
Win32GraphicsEnvironment(SunGraphicsEnvironment).createGraphics(BufferedImage) 行:389
HeadlessGraphicsEnvironment.createGraphics(BufferedImage) 行:76
BufferedImage.createGraphics() 行:1137
TabStripeImage(Java2Dresource).getImage(ResourceContext) 行:115
TabStripeImage(Java2Dresource).send(ResourceContext) 行:89
ResourceLifecycle.sendResource(ResourceContext, InternetResource) 行:219
ResourceLifecycle.send(ResourceContext, InternetResource) 行:158
InternetResourceService.load(Object, Object) 行:335
LRUMapCache.load(Object, Object) 行:116
LRUMapCache.get(Object, Object) 行:87
InternetResourceService.serviceResource(String, HttpServletRequest, HttpServletResponse) 行:195
InternetResourceService.serviceResource(HttpServletRequest, HttpServletResponse) 行:141
Filter(BaseFilter).doFilter(ServletRequest, ServletResponse, FilterChain) 行:508
Ajax4jsfFilter.doFilter(ServletRequest, ServletResponse, FilterChain) 行:56
SeamFilter$FilterChainImpl.doFilter(ServletRequest, ServletResponse) 行:69
LoggingFilter.doFilter(ServletRequest, ServletResponse, FilterChain) 行:60
SeamFilter$FilterChainImpl.doFilter(ServletRequest, ServletResponse) 行:69
SeamFilter.doFilter(ServletRequest, ServletResponse, FilterChain) 行:158
ApplicationFilterChain.internalDoFilter(ServletRequest, ServletResponse) 行:235
ApplicationFilterChain.doFilter(ServletRequest, ServletResponse) 行:206
StandardWrapperValve.invoke(请求,响应)行:233
StandardContextValve.invoke(Request, Response) 行:191
StandardHostValve.invoke(Request, Response) 行:127
ErrorReportValve.invoke(Request, Response) 行:102
AccessLogValve.invoke(请求,响应)行:555
StandardEngineValve.invoke(请求,响应)行:109
CoyoteAdapter.service(请求,响应)行:298
Http11AprProcessor.process(long) 行:861
Http11AprProtocol$Http11ConnectionHandler.process(long) 行:579
AprEndpoint$Worker.run() 行:1584
Thread.run() 行:619 [局部变量不可用]