我的应用程序正在使用AJP连接器进行apache-jboss连接。
这是JBoss standalone-full.xml的代码片段
<subsystem xmlns="urn:jboss:domain:web:1.1" default-virtual-server="default-host" native="false">
<connector name="http" protocol="HTTP/1.1" scheme="http" socket-binding="http"/>
<connector name="ajp" protocol="AJP/1.3" scheme="http" socket-binding="ajp"/>
<virtual-server name="default-host" enable-welcome-root="true">
<alias name="localhost"/>
<alias name="example.com"/>
</virtual-server>
</subsystem>
但我面临一个问题。我可以看到在线程转储中有许多AJP线程处于RUNNABLE状态,这会占用内存并且数量在不断增加。
"ajp-0.0.0.0-0.0.0.0-38000-179" daemon prio=3 tid=0x02a6ac00 nid=0x44e runnable [0x903ff000]
java.lang.Thread.State: RUNNABLE
at java.net.SocketInputStream.socketRead0(Native Method)
at java.net.SocketInputStream.read(SocketInputStream.java:152)
at java.net.SocketInputStream.read(SocketInputStream.java:122)
at org.apache.coyote.ajp.AjpProcessor.read(AjpProcessor.java:1131)
at org.apache.coyote.ajp.AjpProcessor.readMessage(AjpProcessor.java:1213)
at org.apache.coyote.ajp.AjpProcessor.process(AjpProcessor.java:451)
at org.apache.coyote.ajp.AjpProtocol$AjpConnectionHandler.process(AjpProtocol.java:445)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:930)
at java.lang.Thread.run(Thread.java:744)
你能否说一下它背后的原因是什么?
Apache - apache-2.2.29 Jboss - jboss-as-7.1.1.Final
如果我要查找其他连接器,那么我可以使用的其他协议是什么?