- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我无法弄清楚为什么几个“ajp-nio-8009-exec-XX”类型的线程被阻止。典型的线程转储堆栈跟踪如下所示:
at sun.misc.Unsafe.park(Native Method)
at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)
at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2039)
at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:442)
at org.apache.tomcat.util.threads.TaskQueue.take(TaskQueue.java:103)
at org.apache.tomcat.util.threads.TaskQueue.take(TaskQueue.java:31)
at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1067)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1127)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.lang.Thread.run(Thread.java:745)
首先,我的应用程序尚未调整并且具有基本配置。例如:ajp-nio 连接器的 server.xml 配置如下所示:
<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />
我们有多个 Web 应用程序在单个 tomcat 实例中运行,并且正在进行多个重新部署。一段时间后,其中一个 Web 应用程序的性能突然开始下降。 (任何其他正在运行的网络应用程序上绝对没有任何 Activity !但我仍然无法停止/删除它们。)
我附加了两个线程转储。在Thread_dump_1中,我们可以看到“ajp-nio-8009-exec-XX”(XX=1,10,11,13,14,19,20,6,7,9)正在等待获取某个锁。
在下一个转储(Thread_dump_2)中,我们可以看到编号为 11 的线程已通过获取锁进行了操作。事实上,thread_dump_1和Thread_dump_2的时间差肯定在2-3分钟以上。我不明白发生了什么?我读过很多博客/答案等,但无法弄清楚我的情况发生了什么。我只需要一个关于如何进一步调试这个问题的指示?应该注意什么,哪些方面是我应该多加关注的。从 MAT 中我可以看到,存在类加载器泄漏。
线程转储文件:
更多细节:我们使用了Log4j(用于将日志存储到mysql),以及一个进行网络调用的自定义库(这很耗时)。
更新:从 GC 日志中我看到,正在进行大量 GC Activity ,堆大小达到最大大小,并且 GC 后没有释放太多内存。不过元空间还没有满……
最佳答案
ajp-nio-8009-exec-XX
是线程池的工作线程。他们不是在等待锁,而是在 Condition 上等待。目的。这些空闲线程只是在等待,直到任务队列中有可用的新任务。这是正常情况 - 无需担心。
关于java - 无法理解为什么 "ajp-nio-8009-exec-XX"线程在 AbstractQueuedSynchronizer$ConditionObject.await 上阻塞/time_wait,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49174116/
我们需要在我们的托管服务中托管一个 java richfaces/hibernate 应用程序。作为我们安全部门的要求,我们不能将该应用程序与我们的内部数据库建立任何连接。一个建议的解决方案是创建一个
我正在从 Jenkins 1.6.x 安装转移到 2.x。以下错误阻止 Jenkins 启动 Jul 02, 2016 12:51:42 PM org.eclipse.jetty.util.log.J
我需要在嵌入式 tomcat 中配置 AJP 连接器 https://tomcat.apache.org/tomcat-8.0-doc/config/ajp.html 相当于下面的配置: 怎么做?
我有一个应用程序,它使用 mod_proxy_ajp 配置了 apache 和 tomcat我们在 httpd.conf 中配置如下: # This is to redirect any reques
我正在使用带有 Apache 2.2.22 modproxy 的 Tomcat 7.0.29。 在 httpd.conf 中将 Ajp 配置为协议(protocol),在 server.xml 中配置
好吧,我在 wiki 上读过一篇小文章,对 AJP 做了一些解释。基本上该协议(protocol)用于 Apache 和应用程序服务器之间的通信。但为什么人们一开始就需要它呢?为什么不直接使用普通的
可通过 tomcat http 端口访问应用程序。从 Web 服务器(Apache http 服务器)访问时的应用程序会出现错误的网关错误。worker.properties(apache http
我们在与 ajp 连接器链接的 apache 网络服务器后面有一个 hybris 服务器。这是完美的,但是由于某种原因,在更新到 hybris 5.3(和 tomcat 7)之后,安全的 ajp 连接
我向我的 Spring Boot 2 项目添加了 AJP 连接器 @Bean public ServletWebServerFactory servletContainer() {
我们当前的生产网络环境使用: Web 服务器:Netscape iPlanet v4.1(别笑!) Servlet 容器:Tomcat 6.0.32 两者都在不同的服务器上运行 SunOS 5.9(S
我有这样的情况,我在 Windows 的同一台服务器上安装了多个 Tomcat。每个 Tomcat 都有自己的端口。第一个听8080 ajp 8009,第二个听8081 ajp 8010。 我的问题是
我正在尝试将 Apache WebServer (2.4.10) 连接到 Tomcat 7,两者都位于两个不同的虚拟机中。这是我第一次使用这些工具。据我了解,检查连接是否正常的方法是尝试使用 URL
我在 Apache 上使用 Kerberos + LDAP 进行身份验证。然后我创建了一个从 Apache 到 Tomcat 的 AJP。 由于 Apache 处理身份验证,有没有办法将远程用户安全地
我在 Windows 和 Tomcat 7 上使用 Apache 2.4。到目前为止,我一直在本地主机上测试所有内容。所以我本地的 Apache httpd.conf 有这个... Prox
我正在尝试运行 spring mvc 应用程序,但出现此错误 SEVERE [main] org.apache.coyote.AbstractProtocol.init Failed to initi
我有多个 grails 应用程序在 tomcat 服务器上运行,使用 ajp 协议(protocol)。在同一台服务器上,我将 apache 作为那些 tomcat 应用程序的前端运行。像这样的 ap
我在 Tomcat 8 上部署了一个公司应用程序,另一个应用程序向使用 AJP ` 协议(protocol)访问该应用程序的 Apache 服务器发出请求。我是 AJP 的新手。我已经使用带有上述应用
我在 JSF2 中有应用程序(使用 Primefaces)。我使用 h:outputStylesheet 将 url 解析为资源,因此指向我的 css 的链接如下所示: /project/javax.
我正在尝试配置我的 Apache 2.4 以连接到我的后端 Tomcat 8.0.28。在我的 Mac OS X El Capitan 中。 我使用了支持 AJP 的 NameBased Virtua
我们有一个非常默认的 apache2(2.2),mod_jk(1.2.30) 连接到同一个主机上的 tomcat(6),没有负载平衡器,只配置了 1 个 worker。 为了调试特定问题,我尝试增加
我是一名优秀的程序员,十分优秀!