java appcontext_java - Spring ApplicationContext - 资源泄漏:'context'永远不会关闭

java - Spring ApplicationContext - 资源泄漏:'context'永远不会关闭

在spring MVC应用程序中,我使用以下方法初始化其中一个服务类中的变量:

ApplicationContext context =

new ClassPathXmlApplicationContext("META-INF/userLibrary.xml");

service = context.getBean(UserLibrary.class);

UserLibrary是我在我的应用程序中使用的第三方实用程序。 上面的代码为'context'变量生成警告。 警告如下所示:

Resource leak: 'context' is never closed

我不明白这个警告。 由于应用程序是一个Spring MVC应用程序,因此当我在应用程序运行时引用该服务时,我无法真正关闭/销毁上下文。 试图告诉我的警告究竟是什么?

15个解决方案

83 votes

由于应用程序上下文是AbstractApplicationContext(即I / O操作),因此它消耗了在某些时候需要释放的资源。 它也是AbstractApplicationContext的扩展,它实现了Closable.因此,它有一个close()方法,可以在try-with-resources语句中使用。

try (ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext("META-INF/userLibrary.xml")) {

service = context.getBean(UserLibrary.class);

}

你是否真的需要创建这个上下文是一个不同的问题(你链接到它),我不会对此发表评论。

确实,当应用程序停止时,上下文会被隐式关闭,但这不够好。 Eclipse是对的,您需要采取措施为其他情况手动关闭它,以避免类加载器泄漏。

Marcel Stör answered 2019-09-04T04:05:21Z

38 votes

new未在ApplicationContext接口中定义。

安全摆脱警告的唯一方法如下

ClassPathXmlApplicationContext ctx = new ClassPathXmlApplicationContext(...);

try {

[...]

} finally {

ctx.close();

}

或者,在Java 7中

try(ClassPathXmlApplicationContext ctx = new ClassPathXmlApplicationContext(...)) {

[...]

}

基本区别在于,由于您明确地实例化了上下文(即使用new),因此您知道要实例化的类,因此您可以相应地定义变量。

如果您没有实例化AppContext(即使用Spring提供的那个),那么您无法关闭它。

usr-local-ΕΨΗΕΛΩΝ answered 2019-09-04T04:06:11Z

11 votes

一个简单的演员解决了这个问题:

((ClassPathXmlApplicationContext) fac).close();

RCInd answered 2019-09-04T04:06:36Z

6 votes

由于Application上下文具有ClassPathXmlApplicationContext的实例,因此它具有close()方法。 我只需要CAST appContext对象并调用close()方法,如下所示。

ApplicationContext appContext = new ClassPathXmlApplicationContext("spring.xml");

//do some logic

((ClassPathXmlApplicationContext) appContext).close();

这将修复资源泄漏警告。

Ashutosh Srivastav answered 2019-09-04T04:07:06Z

4 votes

试试这个。 你需要应用强制转换来关闭applicationcontext。

ClassPathXmlApplicationContext ctx = null;

try {

ctx = new ClassPathXmlApplicationContext(...);

[...]

} finally {

if (ctx != null)

((AbstractApplicationContext) ctx).close();

}

madhu_karnati answered 2019-09-04T04:07:31Z

3 votes

即使我有完全相同的警告,我所做的只是在主函数private static和ta-da之外声明ApplicationContext,问题已修复。

public class MainApp {

private static ApplicationContext context;

public static void main(String[] args) {

context = new ClassPathXmlApplicationContext("Beans.xml");

HelloWorld objA = (HelloWorld) context.getBean("helloWorld");

objA.setMessage("I'm object A");

objA.getMessage();

HelloWorld objB = (HelloWorld) context.getBean("helloWorld");

objB.getMessage();

}

}

Elysium answered 2019-09-04T04:07:56Z

1 votes

将上下文向下转换为ConfigurableApplicationContext。

((ConfigurableApplicationContext)context).close();

amit28 answered 2019-09-04T04:08:21Z

1 votes

Object obj = context.getBean("bean");

if(bean instanceof Bean) {

Bean bean = (Bean) obj;

}

在我的情况下泄漏消失

леонид павлов answered 2019-09-04T04:08:46Z

1 votes

这对我来说最好。

import org.springframework.context.ApplicationContext;

import org.springframework.context.support.ClassPathXmlApplicationContext;

public class Test {

private static ApplicationContext con;

public static void main(String[] args) {

con = new ClassPathXmlApplicationContext("config.xml");

Employee ob = (Employee) con.getBean("obj");

System.out.println("Emp Id " + ob.getEmpno());

System.out.println("Emp name " + ob.getEmpname());

}

}

i4nk1t answered 2019-09-04T04:09:11Z

0 votes

如果您使用的是ClassPathXmlApplicationContext,则可以使用

((ClassPathXmlApplicationContext) context).close();

关闭资源泄漏问题。

如果您正在使用AbstractApplicationContext,则可以使用close方法强制转换它。

((AbstractApplicationContext) context).close();

它取决于应用程序中使用的上下文类型。

Laxman Edara answered 2019-09-04T04:09:55Z

0 votes

import org.springframework.context.ConfigurableApplicationContext;

((ConfigurableApplicationContext)ctx).close();

Yao Pan answered 2019-09-04T04:10:14Z

0 votes

您将上下文设置为静态变量,这意味着上下文可用于类中的所有静态方法,而不再局限于main方法的范围。 因此,该工具不能假定它应该在方法结束时关闭,因此它不再发出警告。

public class MainApp {

private static ApplicationContext context;

public static void main(String[] args) {

context =

new ClassPathXmlApplicationContext("Beans.xml");

HelloWorld obj = (HelloWorld) context.getBean("helloWorld");

obj.getMessage();

}

}

Nanhe Kumar answered 2019-09-04T04:10:39Z

0 votes

是的,接口Resource leak: 'context' is never closed没有close()方法,所以我喜欢使用类AbstractApplicationContext明确地使用该close方法,并且在这里您可以使用注释而不是XML类型来使用Spring Application配置类。

AbstractApplicationContext context = new AnnotationConfigApplicationContext(SpringAppConfig.class);

Foo foo = context.getBean(Foo.class);

//do some work with foo

context.close();

你的Resource leak: 'context' is never closed警告现在消失了。

ArifMustafa answered 2019-09-04T04:11:12Z

0 votes

转换是此问题的正确解决方案。我使用下面的代码遇到了同样的问题。ctx

要解决警告,只需向下传输ctx对象,然后关闭它。((AnnotationConfigApplicationContext) ctx).close();

Aadi answered 2019-09-04T04:11:46Z

-1 votes

close方法已添加到ConfigurableApplicationContext接口,因此您可以做的最好的方法是访问它:

ConfigurableApplicationContext context = new ClassPathXmlApplicationContext(

"/app-context.xml");

// Use the context...

context.close();

Carlos Curotto answered 2019-09-04T04:12:14Z

09-16-2025 10:39:23.501 WARN [main] [TID: N/A] [Reqid: ] [ReqTime: ] o.a.c.l.WebappClassLoaderBase: The web application [ROOT] appears to have started a thread named [Thread-32] but has failed to stop it. This is very likely to create a memory leak. Stack trace of thread: java.lang.Thread.sleep(Native Method) com.tplink.smb.component.cache.mem.thread.CleanTimeoutCacheThread.run(CleanTimeoutCacheThread.java:86) 09-16-2025 10:39:23.501 WARN [main] [TID: N/A] [Reqid: ] [ReqTime: ] o.a.c.l.WebappClassLoaderBase: The web application [ROOT] appears to have started a thread named [Thread-33] but has failed to stop it. This is very likely to create a memory leak. Stack trace of thread: java.lang.Thread.sleep(Native Method) com.tplink.smb.component.cache.mem.thread.CleanQueueThread.run(CleanQueueThread.java:49) 09-16-2025 10:39:23.514 INFO [main] [TID: N/A] [Reqid: ] [ReqTime: ] o.s.b.a.l.ConditionEvaluationReportLoggingListener: Error starting ApplicationContext. To display the conditions report re-run your application with 'debug' enabled. 09-16-2025 10:39:23.568 ERROR [main] [TID: N/A] [Reqid: ] [ReqTime: ] o.s.b.SpringApplication: Application run failed org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'com.tplink.cdd.vms.eventfrontend.core.server.EventFrontendServer': Invocation of init method failed; nested exception is java.net.BindException: Address already in use: bind at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor.postProcessBeforeInitialization(InitDestroyAnnotationBeanPostProcessor.java:160) ~[spring-beans-5.3.25.jar:5.3.25] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyBeanPostProcessorsBeforeInitialization(AbstractAutowireCapableBeanFactory.java:440) ~[spring-beans-5.3.25.jar:5.3.25] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1796) ~[spring-beans-5.3.25.jar:5.3.25] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:620) ~[spring-beans-5.3.25.jar:5.3.25] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:542) ~[spring-beans-5.3.25.jar:5.3.25] at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:335) ~[spring-beans-5.3.25.jar:5.3.25] at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) ~[spring-beans-5.3.25.jar:5.3.25] at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:333) ~[spring-beans-5.3.25.jar:5.3.25] at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:208) ~[spring-beans-5.3.25.jar:5.3.25] at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:955) ~[spring-beans-5.3.25.jar:5.3.25] at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:918) ~[spring-context-5.3.25.jar:5.3.25] at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:583) ~[spring-context-5.3.25.jar:5.3.25] at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:147) ~[spring-boot-2.7.8.jar:2.7.8] at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:731) [spring-boot-2.7.8.jar:2.7.8] at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:408) [spring-boot-2.7.8.jar:2.7.8] at org.springframework.boot.SpringApplication.run(SpringApplication.java:307) [spring-boot-2.7.8.jar:2.7.8] at org.springframework.boot.builder.SpringApplicationBuilder.run(SpringApplicationBuilder.java:164) [spring-boot-2.7.8.jar:2.7.8] at com.tplink.cdd.vms.starter.local.VmsLocalApplication.main(VmsLocalApplication.java:56) [classes/:?] Caused by: java.net.BindException: Address already in use: bind at sun.nio.ch.Net.bind0(Native Method) ~[?:1.8.0_362-362] at sun.nio.ch.Net.bind(Net.java:461) ~[?:1.8.0_362-362] at sun.nio.ch.Net.bind(Net.java:453) ~[?:1.8.0_362-362] at sun.nio.ch.ServerSocketChannelImpl.bind(ServerSocketChannelImpl.java:222) ~[?:1.8.0_362-362] at io.netty.channel.socket.nio.NioServerSocketChannel.doBind(NioServerSocketChannel.java:141) ~[netty-transport-4.1.87.Final.jar:4.1.87.Final] at io.netty.channel.AbstractChannel$AbstractUnsafe.bind(AbstractChannel.java:562) ~[netty-transport-4.1.87.Final.jar:4.1.87.Final] at io.netty.channel.DefaultChannelPipeline$HeadContext.bind(DefaultChannelPipeline.java:1334) ~[netty-transport-4.1.87.Final.jar:4.1.87.Final] at io.netty.channel.AbstractChannelHandlerContext.invokeBind(AbstractChannelHandlerContext.java:600) ~[netty-transport-4.1.87.Final.jar:4.1.87.Final] at io.netty.channel.AbstractChannelHandlerContext.bind(AbstractChannelHandlerContext.java:579) ~[netty-transport-4.1.87.Final.jar:4.1.87.Final] at io.netty.channel.DefaultChannelPipeline.bind(DefaultChannelPipeline.java:973) ~[netty-transport-4.1.87.Final.jar:4.1.87.Final] at io.netty.channel.AbstractChannel.bind(AbstractChannel.java:260) ~[netty-transport-4.1.87.Final.jar:4.1.87.Final] at io.netty.bootstrap.AbstractBootstrap$2.run(AbstractBootstrap.java:356) ~[netty-transport-4.1.87.Final.jar:4.1.87.Final] at io.netty.util.concurrent.AbstractEventExecutor.runTask$$$capture(AbstractEventExecutor.java:174) ~[netty-common-4.1.87.Final.jar:4.1.87.Final] at io.netty.util.concurrent.AbstractEventExecutor.runTask(AbstractEventExecutor.java) ~[netty-common-4.1.87.Final.jar:4.1.87.Final] at io.netty.util.concurrent.AbstractEventExecutor.safeExecute$$$capture(AbstractEventExecutor.java:167) ~[netty-common-4.1.87.Final.jar:4.1.87.Final] at io.netty.util.concurrent.AbstractEventExecutor.safeExecute(AbstractEventExecutor.java) ~[netty-common-4.1.87.Final.jar:4.1.87.Final] at io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:470) ~[netty-common-4.1.87.Final.jar:4.1.87.Final] at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:569) ~[netty-transport-4.1.87.Final.jar:4.1.87.Final] at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:997) ~[netty-common-4.1.87.Final.jar:4.1.87.Final] at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) ~[netty-common-4.1.87.Final.jar:4.1.87.Final] at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) ~[netty-common-4.1.87.Final.jar:4.1.87.Final] at java.lang.Thread.run(Thread.java:750) ~[?:1.8.0_362-362] 09-16-2025 10:39:32.370 DEBUG [event-statistics-delete-queue-factory] [TID: N/A] [Reqid: ] [ReqTime: ] c.t.c.v.m.c.d.s.SiteAlarmStatisticsService: Processed 0 delete events from queue to statistics. 09-16-2025 10:39:32.370 DEBUG [event-statistics-add-queue-factory] [TID: N/A] [Reqid: ] [ReqTime: ] c.t.c.v.m.c.d.s.SiteAlarmStatisticsService: Processed 0 add events from queue to statistics. 09-16-2025 10:39:39.248 DEBUG [pool-11-thread-1] [TID: N/A] [Reqid: ] [ReqTime: ] c.t.c.v.a.c.p.w.c.WebsocketHeartBeatSender: send ws heart beat to web 09-16-2025 10:39:39.291 DEBUG [pool-11-thread-1] [TID: N/A] [Reqid: ] [ReqTime: ] c.t.c.v.a.c.p.w.c.WebsocketHeartBeatSender: send ws heart beat to client 09-16-2025 10:39:39.293 DEBUG [pool-11-thread-1] [TID: N/A] [Reqid: ] [ReqTime: ] c.t.c.v.a.c.p.w.a.CustomWebSocketMessageSender: [CUSTOM APP] sendToWebsocket, StompMessage(wsType=NORMAL, wsCastTypeEnum=BROADCAST, destination=/heart-beat, vmsId=null, httpSessionIdList=null, userIds=null, payload=0) 09-16-2025 10:39:39.298 DEBUG [pool-11-thread-1] [TID: N/A] [Reqid: ] [ReqTime: ] c.t.c.v.a.c.p.w.a.c.CustomWebSocketCacheManager: custom websocket get session id list, topic /topic/heart-beat, sessionIds null. 09-16-2025 10:39:39.298 DEBUG [pool-11-thread-1] [TID: N/A] [Reqid: ] [ReqTime: ] c.t.c.v.a.c.p.w.a.c.CustomWebSocketCacheManager: custom websocket get session id list, topic /v2user/topic/heart-beat, sessionIds null. 09-16-2025 10:39:42.384 DEBUG [event-statistics-delete-queue-factory] [TID: N/A] [Reqid: ] [ReqTime: ] c.t.c.v.m.c.d.s.SiteAlarmStatisticsService: Processed 0 delete events from queue to statistics. 09-16-2025 10:39:42.384 DEBUG [event-statistics-add-queue-factory] [TID: N/A] [Reqid: ] [ReqTime: ] c.t.c.v.m.c.d.s.SiteAlarmStatisticsService: Processed 0 add events from queue to statistics. 09-16-2025 10:39:52.393 DEBUG [event-statistics-add-queue-factory] [TID: N/A] [Reqid: ] [ReqTime: ] c.t.c.v.m.c.d.s.SiteAlarmStatisticsService: Processed 0 add events from queue to statistics. 09-16-2025 10:39:52.393 DEBUG [event-statistics-delete-queue-factory] [TID: N/A] [Reqid: ] [ReqTime: ] c.t.c.v.m.c.d.s.SiteAlarmStatisticsService: Processed 0 delete events from queue to statistics.
最新发布
09-17
D:\桌面\apache-tomcat-9.0.106\bin\catalina.bat run [2025-07-01 04:36:23,779] 工件 test1:war exploded: 正在等待服务器连接以启动工件部署… Using CATALINA_BASE: "C:\Users\Lenovo\AppData\Local\JetBrains\IntelliJIdea2025.1\tomcat\9af9a62d-8cc4-48aa-b9a7-b9fd6acf1959" Using CATALINA_HOME: "D:\����\apache-tomcat-9.0.106" Using CATALINA_TMPDIR: "D:\����\apache-tomcat-9.0.106\temp" Using JRE_HOME: "C:\Program Files\Java\jdk-21" Using CLASSPATH: "D:\����\apache-tomcat-9.0.106\bin\bootstrap.jar;D:\����\apache-tomcat-9.0.106\bin\tomcat-juli.jar" Using CATALINA_OPTS: "" NOTE: Picked up JDK_JAVA_OPTIONS: --add-opens=java.base/java.lang=ALL-UNNAMED --add-opens=java.base/java.lang.invoke=ALL-UNNAMED --add-opens=java.base/java.lang.reflect=ALL-UNNAMED --add-opens=java.base/java.io=ALL-UNNAMED --add-opens=java.base/java.util=ALL-UNNAMED --add-opens=java.base/java.util.concurrent=ALL-UNNAMED --add-opens=java.rmi/sun.rmi.transport=ALL-UNNAMED 01-Jul-2025 16:36:24.942 警告 [main] org.apache.catalina.startup.ClassLoaderFactory.validateFile Problem with directory [D:\桌面\apache-tomcat-9.0.106\lib], exists: [false], isDirectory: [false], canRead: [false] 01-Jul-2025 16:36:24.945 警告 [main] org.apache.catalina.startup.ClassLoaderFactory.validateFile Problem with directory [D:\桌面\apache-tomcat-9.0.106\lib], exists: [false], isDirectory: [false], canRead: [false] 01-Jul-2025 16:36:27.111 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log Server.服务器版本: Apache Tomcat/9.0.106 01-Jul-2025 16:36:27.111 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 服务器构建: Jun 5 2025 19:02:30 UTC 01-Jul-2025 16:36:27.112 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 服务器版本号: 9.0.106.0 01-Jul-2025 16:36:27.112 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 操作系统名称: Windows 11 01-Jul-2025 16:36:27.112 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log OS.版本: 10.0 01-Jul-2025 16:36:27.112 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 架构: amd64 01-Jul-2025 16:36:27.112 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log Java 环境变量: C:\Program Files\Java\jdk-21 01-Jul-2025 16:36:27.112 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log Java虚拟机版本: 21.0.7+8-LTS-245 01-Jul-2025 16:36:27.112 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log JVM.供应商: Oracle Corporation 01-Jul-2025 16:36:27.112 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log CATALINA_BASE: C:\Users\Lenovo\AppData\Local\JetBrains\IntelliJIdea2025.1\tomcat\9af9a62d-8cc4-48aa-b9a7-b9fd6acf1959 01-Jul-2025 16:36:27.112 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log CATALINA_HOME: D:\桌面\apache-tomcat-9.0.106 01-Jul-2025 16:36:27.112 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 命令行参数: --add-opens=java.base/java.lang=ALL-UNNAMED 01-Jul-2025 16:36:27.113 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 命令行参数: --add-opens=java.base/java.lang.invoke=ALL-UNNAMED 01-Jul-2025 16:36:27.113 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 命令行参数: --add-opens=java.base/java.lang.reflect=ALL-UNNAMED 01-Jul-2025 16:36:27.113 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 命令行参数: --add-opens=java.base/java.io=ALL-UNNAMED 01-Jul-2025 16:36:27.113 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 命令行参数: --add-opens=java.base/java.util=ALL-UNNAMED 01-Jul-2025 16:36:27.113 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 命令行参数: --add-opens=java.base/java.util.concurrent=ALL-UNNAMED 01-Jul-2025 16:36:27.113 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 命令行参数: --add-opens=java.rmi/sun.rmi.transport=ALL-UNNAMED 01-Jul-2025 16:36:27.113 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 命令行参数: -Djava.util.logging.config.file=C:\Users\Lenovo\AppData\Local\JetBrains\IntelliJIdea2025.1\tomcat\9af9a62d-8cc4-48aa-b9a7-b9fd6acf1959\conf\logging.properties 01-Jul-2025 16:36:27.113 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 命令行参数: -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager 01-Jul-2025 16:36:27.113 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 命令行参数: -Dcom.sun.management.jmxremote= 01-Jul-2025 16:36:27.114 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 命令行参数: -Dcom.sun.management.jmxremote.port=1099 01-Jul-2025 16:36:27.114 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 命令行参数: -Dcom.sun.management.jmxremote.ssl=false 01-Jul-2025 16:36:27.114 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 命令行参数: -Dcom.sun.management.jmxremote.password.file=C:\Users\Lenovo\AppData\Local\JetBrains\IntelliJIdea2025.1\tomcat\9af9a62d-8cc4-48aa-b9a7-b9fd6acf1959\jmxremote.password 01-Jul-2025 16:36:27.114 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 命令行参数: -Dcom.sun.management.jmxremote.access.file=C:\Users\Lenovo\AppData\Local\JetBrains\IntelliJIdea2025.1\tomcat\9af9a62d-8cc4-48aa-b9a7-b9fd6acf1959\jmxremote.access 01-Jul-2025 16:36:27.114 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 命令行参数: -Djava.rmi.server.hostname=127.0.0.1 01-Jul-2025 16:36:27.114 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 命令行参数: -Djdk.tls.ephemeralDHKeySize=2048 01-Jul-2025 16:36:27.114 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 命令行参数: -Djava.protocol.handler.pkgs=org.apache.catalina.webresources 01-Jul-2025 16:36:27.114 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 命令行参数: -Dsun.io.useCanonCaches=false 01-Jul-2025 16:36:27.114 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 命令行参数: -Dignore.endorsed.dirs= 01-Jul-2025 16:36:27.114 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 命令行参数: -Dcatalina.base=C:\Users\Lenovo\AppData\Local\JetBrains\IntelliJIdea2025.1\tomcat\9af9a62d-8cc4-48aa-b9a7-b9fd6acf1959 01-Jul-2025 16:36:27.114 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 命令行参数: -Dcatalina.home=D:\桌面\apache-tomcat-9.0.106 01-Jul-2025 16:36:27.114 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 命令行参数: -Djava.io.tmpdir=D:\桌面\apache-tomcat-9.0.106\temp 01-Jul-2025 16:36:27.246 信息 [main] org.apache.catalina.core.AprLifecycleListener.lifecycleEvent 使用APR版本[1.7.4]加载了基于APR的Apache Tomcat本机库[1.3.1]。 01-Jul-2025 16:36:27.246 信息 [main] org.apache.catalina.core.AprLifecycleListener.lifecycleEvent APR功能:IPv6[true]、sendfile[true]、accept filters[false]、random[true]、UDS [true]。 01-Jul-2025 16:36:27.246 信息 [main] org.apache.catalina.core.AprLifecycleListener.lifecycleEvent APR/OpenSSL配置:useAprConnector[false],useOpenSSL[true] 01-Jul-2025 16:36:27.252 信息 [main] org.apache.catalina.core.AprLifecycleListener.initializeSSL OpenSSL成功初始化 [OpenSSL 3.0.14 4 Jun 2024] 01-Jul-2025 16:36:27.420 信息 [main] org.apache.coyote.AbstractProtocol.init 初始化协议处理器 ["http-nio-8080"] 01-Jul-2025 16:36:27.439 信息 [main] org.apache.catalina.startup.Catalina.load 服务器在[466]毫秒内初始化 01-Jul-2025 16:36:27.534 信息 [main] org.apache.catalina.core.StandardService.startInternal 正在启动服务[Catalina] 01-Jul-2025 16:36:27.535 信息 [main] org.apache.catalina.core.StandardEngine.startInternal 正在启动 Servlet 引擎:[Apache Tomcat/9.0.106] 01-Jul-2025 16:36:27.559 信息 [main] org.apache.coyote.AbstractProtocol.start 开始协议处理句柄["http-nio-8080"] 01-Jul-2025 16:36:27.626 信息 [main] org.apache.catalina.startup.Catalina.start [186]毫秒后服务器启动 已连接到服务器 [2025-07-01 04:36:27,906] 工件 test1:war exploded: 正在部署工件,请稍候… 01-Jul-2025 16:36:30.206 信息 [RMI TCP Connection(4)-127.0.0.1] org.apache.jasper.servlet.TldScanner.scanJars 至少有一个JAR被扫描用于TLD但尚未包含TLD。 为此记录器启用调试日志记录,以获取已扫描但未在其中找到TLD的完整JAR列表。 在扫描期间跳过不需要的JAR可以缩短启动时间和JSP编译时间。 01-Jul-2025 16:36:30.328 信息 [RMI TCP Connection(4)-127.0.0.1] org.springframework.web.context.ContextLoader.initWebApplicationContext Root WebApplicationContext: initialization started Loading class `com.mysql.jdbc.Driver'. This is deprecated. The new driver class is `com.mysql.cj.jdbc.Driver'. The driver is automatically registered via the SPI and manual loading of the driver class is generally unnecessary. 01-Jul-2025 16:36:31.054 警告 [RMI TCP Connection(4)-127.0.0.1] org.springframework.context.support.AbstractApplicationContext.refresh Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'customerServiceImpl': Unsatisfied dependency expressed through field 'customerMapper'; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'customerMapper' defined in file [D:\test5\test1\target\ssm-demo\WEB-INF\classes\com\example\mapper\CustomerMapper.class]: Unsatisfied dependency expressed through bean property 'sqlSessionFactory'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sqlSessionFactory' defined in ServletContext resource [/WEB-INF/applicationContext.xml]: Initialization of bean failed; nested exception is org.springframework.beans.TypeMismatchException: Failed to convert property value of type 'java.lang.String' to required type 'org.springframework.core.io.Resource[]' for property 'mapperLocations'; nested exception is java.lang.IllegalArgumentException: Could not resolve resource location pattern [classpath:mapper/*.xml]: class path resource [mapper/] cannot be resolved to URL because it does not exist 01-Jul-2025 16:36:31.056 严重 [RMI TCP Connection(4)-127.0.0.1] org.springframework.web.context.ContextLoader.initWebApplicationContext Context initialization failed org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'customerServiceImpl': Unsatisfied dependency expressed through field 'customerMapper'; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'customerMapper' defined in file [D:\test5\test1\target\ssm-demo\WEB-INF\classes\com\example\mapper\CustomerMapper.class]: Unsatisfied dependency expressed through bean property 'sqlSessionFactory'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sqlSessionFactory' defined in ServletContext resource [/WEB-INF/applicationContext.xml]: Initialization of bean failed; nested exception is org.springframework.beans.TypeMismatchException: Failed to convert property value of type 'java.lang.String' to required type 'org.springframework.core.io.Resource[]' for property 'mapperLocations'; nested exception is java.lang.IllegalArgumentException: Could not resolve resource location pattern [classpath:mapper/*.xml]: class path resource [mapper/] cannot be resolved to URL because it does not exist at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.resolveFieldValue(AutowiredAnnotationBeanPostProcessor.java:659) at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:639) at org.springframework.beans.factory.annotation.InjectionMetadata.inject(InjectionMetadata.java:119) at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessProperties(AutowiredAnnotationBeanPostProcessor.java:399) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1431) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:619) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:542) at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:335) at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:333) at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:208) at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:953) at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:918) at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:583) at org.springframework.web.context.ContextLoader.configureAndRefreshWebApplicationContext(ContextLoader.java:401) at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:292) at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:103) at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4059) at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:4501) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:164) at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:599) at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:571) at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:603) at org.apache.catalina.startup.HostConfig.manageApp(HostConfig.java:1746) at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) at java.base/java.lang.reflect.Method.invoke(Method.java:580) at org.apache.tomcat.util.modeler.BaseModelMBean.invoke(BaseModelMBean.java:252) at java.management/com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:803) at java.management/com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:802) at org.apache.catalina.mbeans.MBeanFactory.createStandardContext(MBeanFactory.java:449) at org.apache.catalina.mbeans.MBeanFactory.createStandardContext(MBeanFactory.java:403) at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) at java.base/java.lang.reflect.Method.invoke(Method.java:580) at org.apache.tomcat.util.modeler.BaseModelMBean.invoke(BaseModelMBean.java:252) at java.management/com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:803) at java.management/com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:802) at java.management/com.sun.jmx.remote.security.MBeanServerAccessController.invoke(MBeanServerAccessController.java:472) at java.management.rmi/javax.management.remote.rmi.RMIConnectionImpl.doOperation(RMIConnectionImpl.java:1472) at java.management.rmi/javax.management.remote.rmi.RMIConnectionImpl$PrivilegedOperation.run(RMIConnectionImpl.java:1310) at java.base/java.security.AccessController.doPrivileged(AccessController.java:714) at java.management.rmi/javax.management.remote.rmi.RMIConnectionImpl.doPrivilegedOperation(RMIConnectionImpl.java:1412) at java.management.rmi/javax.management.remote.rmi.RMIConnectionImpl.invoke(RMIConnectionImpl.java:829) at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) at java.base/java.lang.reflect.Method.invoke(Method.java:580) at java.rmi/sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:360) at java.rmi/sun.rmi.transport.Transport$1.run(Transport.java:200) at java.rmi/sun.rmi.transport.Transport$1.run(Transport.java:197) at java.base/java.security.AccessController.doPrivileged(AccessController.java:714) at java.rmi/sun.rmi.transport.Transport.serviceCall(Transport.java:196) at java.rmi/sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:598) at java.rmi/sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:844) at java.rmi/sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.lambda$run$0(TCPTransport.java:721) at java.base/java.security.AccessController.doPrivileged(AccessController.java:400) at java.rmi/sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:720) at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144) at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642) at java.base/java.lang.Thread.run(Thread.java:1583) Caused by: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'customerMapper' defined in file [D:\test5\test1\target\ssm-demo\WEB-INF\classes\com\example\mapper\CustomerMapper.class]: Unsatisfied dependency expressed through bean property 'sqlSessionFactory'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sqlSessionFactory' defined in ServletContext resource [/WEB-INF/applicationContext.xml]: Initialization of bean failed; nested exception is org.springframework.beans.TypeMismatchException: Failed to convert property value of type 'java.lang.String' to required type 'org.springframework.core.io.Resource[]' for property 'mapperLocations'; nested exception is java.lang.IllegalArgumentException: Could not resolve resource location pattern [classpath:mapper/*.xml]: class path resource [mapper/] cannot be resolved to URL because it does not exist at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireByType(AbstractAutowireCapableBeanFactory.java:1534) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1417) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:619) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:542) at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:335) at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:333) at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:208) at org.springframework.beans.factory.config.DependencyDescriptor.resolveCandidate(DependencyDescriptor.java:276) at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1389) at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1309) at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.resolveFieldValue(AutowiredAnnotationBeanPostProcessor.java:656) ... 56 more Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sqlSessionFactory' defined in ServletContext resource [/WEB-INF/applicationContext.xml]: Initialization of bean failed; nested exception is org.springframework.beans.TypeMismatchException: Failed to convert property value of type 'java.lang.String' to required type 'org.springframework.core.io.Resource[]' for property 'mapperLocations'; nested exception is java.lang.IllegalArgumentException: Could not resolve resource location pattern [classpath:mapper/*.xml]: class path resource [mapper/] cannot be resolved to URL because it does not exist at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:628) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:542) at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:335) at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:333) at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:208) at org.springframework.beans.factory.config.DependencyDescriptor.resolveCandidate(DependencyDescriptor.java:276) at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1389) at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1309) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireByType(AbstractAutowireCapableBeanFactory.java:1519) ... 67 more Caused by: org.springframework.beans.TypeMismatchException: Failed to convert property value of type 'java.lang.String' to required type 'org.springframework.core.io.Resource[]' for property 'mapperLocations'; nested exception is java.lang.IllegalArgumentException: Could not resolve resource location pattern [classpath:mapper/*.xml]: class path resource [mapper/] cannot be resolved to URL because it does not exist at org.springframework.beans.AbstractNestablePropertyAccessor.convertIfNecessary(AbstractNestablePropertyAccessor.java:600) at org.springframework.beans.AbstractNestablePropertyAccessor.convertForProperty(AbstractNestablePropertyAccessor.java:609) at org.springframework.beans.BeanWrapperImpl.convertForProperty(BeanWrapperImpl.java:219) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.convertForProperty(AbstractAutowireCapableBeanFactory.java:1756) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1712) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1452) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:619) ... 76 more Caused by: java.lang.IllegalArgumentException: Could not resolve resource location pattern [classpath:mapper/*.xml]: class path resource [mapper/] cannot be resolved to URL because it does not exist at org.springframework.core.io.support.ResourceArrayPropertyEditor.setAsText(ResourceArrayPropertyEditor.java:121) at org.springframework.beans.TypeConverterDelegate.doConvertTextValue(TypeConverterDelegate.java:429) at org.springframework.beans.TypeConverterDelegate.doConvertValue(TypeConverterDelegate.java:402) at org.springframework.beans.TypeConverterDelegate.convertIfNecessary(TypeConverterDelegate.java:155) at org.springframework.beans.AbstractNestablePropertyAccessor.convertIfNecessary(AbstractNestablePropertyAccessor.java:590) ... 82 more 01-Jul-2025 16:36:31.057 严重 [RMI TCP Connection(4)-127.0.0.1] org.apache.catalina.core.StandardContext.startInternal 一个或多个listeners启动失败,更多详细信息查看对应的容器日志文件 01-Jul-2025 16:36:31.062 严重 [RMI TCP Connection(4)-127.0.0.1] org.apache.catalina.core.StandardContext.startInternal 由于之前的错误,Context[/test1_war_exploded]启动失败 01-Jul-2025 16:36:31.069 警告 [RMI TCP Connection(4)-127.0.0.1] org.apache.catalina.loader.WebappClassLoaderBase.clearReferencesJdbc Web应用程序 [test1_war_exploded] 注册了JDBC驱动程序 [com.mysql.cj.jdbc.Driver],但在Web应用程序停止时无法注销它。 为防止内存泄漏,JDBC驱动程序已被强制取消注册。 [2025-07-01 04:36:31,078] 工件 test1:war exploded: 部署工件时出错。请参阅服务器日志了解详细信息。 01-Jul-2025 16:36:36.025 信息 [mysql-cj-abandoned-connection-cleanup] org.apache.catalina.loader.WebappClassLoaderBase.checkStateForResourceLoading 非法访问:此Web应用程序实例已停止。无法加载[]。为了调试以及终止导致非法访问的线程,将抛出以下堆栈跟踪。 java.lang.IllegalStateException: 非法访问:此Web应用程序实例已停止。无法加载[]。为了调试以及终止导致非法访问的线程,将抛出以下堆栈跟踪。 at org.apache.catalina.loader.WebappClassLoaderBase.checkStateForResourceLoading(WebappClassLoaderBase.java:1374) at org.apache.catalina.loader.WebappClassLoaderBase.getResource(WebappClassLoaderBase.java:997) at com.mysql.cj.jdbc.AbandonedConnectionCleanupThread.checkThreadContextClassLoader(AbandonedConnectionCleanupThread.java:123) at com.mysql.cj.jdbc.AbandonedConnectionCleanupThread.run(AbandonedConnectionCleanupThread.java:90) at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144) at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642) at java.base/java.lang.Thread.run(Thread.java:1583) 01-Jul-2025 16:36:37.576 信息 [Catalina-utility-2] org.apache.catalina.startup.HostConfig.deployDirectory 把web 应用程序部署到目录 [D:\桌面\apache-tomcat-9.0.106\webapps\manager] 01-Jul-2025 16:36:37.641 信息 [Catalina-utility-2] org.apache.catalina.startup.HostConfig.deployDirectory Web应用程序目录[D:\桌面\apache-tomcat-9.0.106\webapps\manager]的部署已在[64]毫秒内完成
07-02
01-Jul-2025 18:26:22.896 SEVERE [RMI TCP Connection(3)-127.0.0.1] org.apache.catalina.core.StandardContext.startInternal Context [/ecm-sf5-cn] startup failed due to previous errors 01-Jul-2025 18:26:22.968 WARNING [RMI TCP Connection(3)-127.0.0.1] org.apache.catalina.loader.WebappClassLoaderBase.clearReferencesThreads The web application [ecm-sf5-cn] appears to have started a thread named [Catalina-utility-2] but has failed to stop it. This is very likely to create a memory leak. Stack trace of thread: org.apache.catalina.core.StandardContext.backgroundProcess(StandardContext.java:4825) org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1172) org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1176) org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1176) org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.run(ContainerBase.java:1154) java.base@17.0.12/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) java.base@17.0.12/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) java.base@17.0.12/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) java.base@17.0.12/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) java.base@17.0.12/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) java.base@17.0.12/java.lang.Thread.run(Thread.java:840) 01-Jul-2025 18:26:22.968 WARNING [RMI TCP Connection(3)-127.0.0.1] org.apache.catalina.loader.WebappClassLoaderBase.clearReferencesThreads The web application [ecm-sf5-cn] appears to have started a thread named [DefaultQuartzScheduler_QuartzSchedulerThread] but has failed to stop it. This is very likely to create a memory leak. Stack trace of thread: java.base@17.0.12/java.lang.Object.wait(Native Method) org.quartz.core.QuartzSchedulerThread.run(QuartzSchedulerThread.java:427) 01-Jul-2025 18:26:22.977 SEVERE [RMI TCP Connection(3)-127.0.0.1] org.apache.catalina.loader.WebappClassLoaderBase.checkThreadLocalMapForLeaks The web application [ecm-sf5-cn] created a ThreadLocal with key of type [java.lang.ThreadLocal] (value [java.lang.ThreadLocal@3777677a]) and a value of type [com.documentum.web.env.app.AppServerEnvironment] (value [[Name = App Server Environment, Description = App Server Environment Implementation, Major Version = 0, Minor Version = 1, Author = Documentum, Portal Description = App Server, Portal Version = x.x, Environment Base Version = 1.0, Environment Service Version = 6.0, Supports Dispatch Contract = true, Supports Theme Contract = true, Supports Error Contract = true, Supports FormOperationListener Contract = false, Supports Locale Contract = true, Supports Session Contract = true, Supports Tag Contract = false, Supports Render Contract = true, Supports Login Contract = false, Supports Security Contract = true, Supports ActionPrecondition Contract = false, Supports MessageService Contract = false, Supports SuperCredentials Contract = true, Supports Preference Contract = true, Supports ContentTransfer Contract = true]]) but failed to remove it when the web application was stopped. Threads are going to be renewed over time to try and avoid a probable memory leak. [2025-07-01 06:26:22,998] Artifact ecm-sf5-cn: Error during artifact deployment. See server log for details.
07-02
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值