小编Ree*_*ika的帖子

Tomcat log4j2线程内存泄漏问题

我使用 log4j2 进行日志记录,tomcat8 和 java8 版本。我使用属性“monitorInterval”定期检查我的 log4j2.xml。在关闭我的 tomcat 期间,我面临内存泄漏问题。如何解决此内存泄漏问题?

以下是卡特琳娜日志:

2016 年 10 月 6 日 15:13:55.927 警告 [localhost-startStop-2] org.apache.catalina.loader.WebappClassLoaderBase.clearReferencesThreads Web 应用程序 [mywebapp] 似乎启动了一个名为 [Log4j2-Log4j2Scheduled-1] 的线程,但是却未能阻止它。这很可能造成内存泄漏。线程的堆栈跟踪:sun.misc.Unsafe.park(本机方法) java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:215) java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer. java:2078) java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1093) java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:809) java.util.concurrent.ThreadPoolExecutor.getTask( ThreadPoolExecutor.java:1067) java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1127) java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) java.lang.Thread.run(Thread.爪哇:745)

提前致谢。

更新:我分析了我的日志,实际上一旦 Log4jServletContextListener 被破坏,记录器上下文就会再次初始化。

2016-10-22 13:49:36,347 localhost-startStop-2 DEBUG Log4jServletContextListener 确保 Log4j 正确关闭。2016-10-22 13:49:36,382 localhost-startStop-2 调试启动 LoggerContext[name=bb4719, org.apache.logging.log4j.core.LoggerContext@d77214]...

实际上,在我的应用程序中,我在 web.xml 中使用 spring ContextLoaderListner,因此它可能在销毁 spring listner 时在内部使用日志记录。

谢谢

java log4j2 tomcat8 java-threads

7
推荐指数
1
解决办法
1万
查看次数

聊天框标题上的关闭按钮不起作用

我和静态用户聊天应用程序.然后点击该用户,它会打开一个聊天框.但该聊天框上的关闭按钮不起作用.

我正在使用jQuery来实现它.

$(document).ready(function() {
  $('a').click(function(e) {
    e.preventDefault();
    var targetUser = ($(this).html());
    $(document).data('chat.targetUser', targetUser);
    var user = '<div class="user open" id="' + targetUser + '"><header><div class="status"></div><div class="header-text">' + targetUser + '</div><div class="close">&times;</div></header><div class="message-area"></div><div class="input-area"><input type="text" id="input" /></div></div>';
    $('#chat').append(user);
    $('#chat').find(".close").click(function() {
      $(this).closest(".user open").hide();
    });
  });
});
Run Code Online (Sandbox Code Playgroud)

jquery chat

1
推荐指数
1
解决办法
340
查看次数

标签 统计

chat ×1

java ×1

java-threads ×1

jquery ×1

log4j2 ×1

tomcat8 ×1