Websphere 8.5 TCP Channel超过了最大打开连接数

时间:2014-11-11 07:18:55

标签: spring-mvc websphere cxf jax-ws tcpchannel

我们在WAS 8.5.5.2服务器上运行CXF 2.7.11应用程序。 Application具有classloading parent last属性,我们也按照CXF文档的说明禁用了IBM JaxWS引擎。

应用程序运行良好几天,之后我们得到以下异常并且TCP通道似乎已满。

从具有ws类的堆栈跟踪中我怀疑CXF是否存在此问题,但这可能是另一个问题的结果

该应用程序也是一个暴露REST资源的Spring MVC应用程序。

[10.11.2014 05:00:20:887 EET] 00000049 TCPChannel    W   TCPC0004W: TCP Channel TCP_2 has exceeded the maximum number of open connections 20000.
[10.11.2014 05:02:16:343 EET] 0000023f SSLHandshakeE E   SSLC0008E: Unable to initialize SSL connection.  Unauthorized access was denied or security settings have expired.  Exception is javax.net.ssl.SSLException: Unrecognized SSL message, plaintext connection?
    at com.ibm.jsse2.b.a(b.java:56)
    at com.ibm.jsse2.nc.a(nc.java:90)
    at com.ibm.jsse2.nc.unwrap(nc.java:292)
    at javax.net.ssl.SSLEngine.unwrap(SSLEngine.java:26)
    at com.ibm.ws.ssl.channel.impl.SSLConnectionLink.readyInbound(SSLConnectionLink.java:535)
    at com.ibm.ws.ssl.channel.impl.SSLConnectionLink.ready(SSLConnectionLink.java:295)
    at com.ibm.ws.tcp.channel.impl.NewConnectionInitialReadCallback.sendToDiscriminators(NewConnectionInitialReadCallback.java:214)
    at com.ibm.ws.tcp.channel.impl.NewConnectionInitialReadCallback.complete(NewConnectionInitialReadCallback.java:113)
    at com.ibm.ws.tcp.channel.impl.AioReadCompletionListener.futureCompleted(AioReadCompletionListener.java:175)
    at com.ibm.io.async.AbstractAsyncFuture.invokeCallback(AbstractAsyncFuture.java:217)
    at com.ibm.io.async.AsyncChannelFuture.fireCompletionActions(AsyncChannelFuture.java:161)
    at com.ibm.io.async.AsyncFuture.completed(AsyncFuture.java:138)
    at com.ibm.io.async.ResultHandler.complete(ResultHandler.java:204)
    at com.ibm.io.async.ResultHandler.runEventProcessingLoop(ResultHandler.java:775)
    at com.ibm.io.async.ResultHandler$2.run(ResultHandler.java:905)
    at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1864)

2 个答案:

答案 0 :(得分:0)

所以这有点棘手。您可以简单地增加可以从控制台完成的连接数:

服务器> WebSphere Application Server> SERVER_NAME> web容器> TCP CHANNEL

我说这个的原因很棘手,因为可能存在更大的潜在问题,例如连接泄漏。为了达到你使用20K连接的程度是非常多的,但是,我不知道你在这台服务器上有多大的负担。如果这只是一个测试环境,那么您需要开始研究可能的连接泄漏。

Unable to initialize SSL connection. Unauthorized access was denied or security settings have expired. Exception is javax.net.ssl.SSLException: Unrecognized SSL message, plaintext connection?

错误消息的这一部分表示正在对SSL端口建立纯文本非SSL连接。您可能还想查看一下,看看是谁进行了这些调用,因为这是一个开销。

答案 1 :(得分:0)

使用20000个连接非常高。您的客户端代码中可能存在漏洞,这些漏洞正在泄漏连接。如果您在客户端使用CXF,可以查看此https://issues.apache.org/jira/browse/CXF-5144

增加连接数不会解决您的问题,只会延迟它。

相关问题