我在tomcat上运行的
spring应用程序打开了很多与localhost的连接,如下所示:
tcp6 1 0 localhost:4431 localhost:44178 CLOSE_WAIT 2393/java tcp6 1 0 localhost:4431 localhost:44279 CLOSE_WAIT 2393/java tcp6 1 0 localhost:4431 localhost:44264 CLOSE_WAIT 2393/java tcp6 1 0 localhost:4431 localhost:44160 CLOSE_WAIT 2393/java tcp6 1 0 localhost:4431 localhost:44224 CLOSE_WAIT 2393/java
并导致超时等待连接池.
你知道连接是什么吗?
我的server.xml看起来像这样:
<?xml version='1.0' encoding='utf-8'?> <Server port="8005" shutdown="SHUTDOWN"> <Listener className="org.apache.catalina.core.JasperListener" /> <Listener className="org.apache.catalina.core.JreMemoryLeakPreventionListener" /> <Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener" /> <Listener className="org.apache.catalina.core.ThreadLocalLeakPreventionListener" /> <Realm className="org.apache.catalina.realm.MemoryRealm" /> <GlobalNamingResources> <Resource name="UserDatabase" auth="Container" type="org.apache.catalina.UserDatabase" description="User database that can be updated and saved" factory="org.apache.catalina.users.MemoryUserDatabaseFactory" pathname="conf/tomcat-users.xml" /> </GlobalNamingResources> <Service name="Catalina"> <Connector port="8080" protocol="HTTP/1.1" compression="on" compressionMinSize="2048" noCompressionUserAgents="gozilla,traviata" compressableMimeType=" text/html,text/xml,text/plain,text/css,text/javascript,text/json,application/x-javascript,application/javascript,application/json,application/x-font-woff,image/png,image/jpeg,image/gif,image/svg+xml " connectionTimeout="20000" URIEncoding="UTF-8" maxThreads="10000" maxConnections="-1" redirectPort="4431" /> <Connector port="4431" protocol="HTTP/1.1" compression="on" compressionMinSize="2048" noCompressionUserAgents="gozilla,image/svg+xml " connectionTimeout="20000" URIEncoding="UTF-8" maxThreads="10000" maxConnections="-1" scheme="https" secure="true" clientAuth="false" proxyPort="443" /> <Engine name="Catalina" defaultHost="localhost"> <Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster"/> <Realm className="org.apache.catalina.realm.LockOutRealm"> <Realm className="org.apache.catalina.realm.UserDatabaseRealm" resourceName="UserDatabase"/> </Realm> <Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true"> <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs" prefix="localhost_access_log." suffix=".txt" pattern="%h %A %u %t "%r" %s %b "%{Referer}i" "%{User-Agent}i"" /> </Host> </Engine> </Service> </Server>
端口4431是主连接器的端口.似乎应用程序调用自己.
解决方法
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。