mina socket 通訊 Too many open files Failed to open a selector

服務背景:css

流數據接收--> 解析過濾-->調用socket服務 寫入mina服務。
java


服務器異常日誌:
web

java.io.IOException: Too many open files Failed to open a selectorFailed to create a new instance of org.apache.mina.transport.socket.nio.NioProcessor:null

定位到問題代碼:
apache

 public void init() { NioSocketConnector connector = new NioSocketConnector(); connector.getFilterChain().addLast("codec", new ProtocolCodecFilter(new TextLineCodecFactory(Charset.defaultCharset()))); connector.setConnectTimeoutMillis(10000); connector.setHandler(new SocketClientHandler()); connector.getSessionConfig().setReceiveBufferSize(10240); // 設置接收緩衝區的大小 connector.getSessionConfig().setSendBufferSize(10240);// 設置輸出緩衝區的大小 ConnectFuture cf = connector.connect( new InetSocketAddress(socketConfig.getSocketServerIp(), socketConfig.getSocketServerPort())); // 等待鏈接建立完成 cf.awaitUninterruptibly(); session = cf.getSession(); }

問題產生緣由:
當mina服務端長時間鏈接不上 ,併發鏈接特別多的時候 都會致使上述問題。
解決方案:當鏈接不成功的時候 進行施放句柄。服務器

修改以後:
微信

 public void init() { NioSocketConnector connector = new NioSocketConnector(); connector.getFilterChain().addLast("codec", new ProtocolCodecFilter(new TextLineCodecFactory(Charset.defaultCharset()))); connector.setConnectTimeoutMillis(10000); connector.setHandler(new SocketClientHandler()); connector.getSessionConfig().setReceiveBufferSize(10240); // 設置接收緩衝區的大小 connector.getSessionConfig().setSendBufferSize(10240);// 設置輸出緩衝區的大小 ConnectFuture cf = connector.connect( new InetSocketAddress(socketConfig.getSocketServerIp(), socketConfig.getSocketServerPort())); // 等待鏈接建立完成 cf.awaitUninterruptibly(); if (cf.isDone()) { if (!cf.isConnected()) { log.error("fail connect {} {}", socketConfig.getSocketServerIp(), socketConfig.getSocketServerPort()); connector.dispose(); throw new RuntimeException("Not connect to Mina Server"); } else { session = cf.getSession(); } } }

持續分享我的的成長經歷,但願爲你的職場發展帶來些新思路,歡迎掃碼關注我!session

你若喜歡,爲小編點個哦 併發

本文分享自微信公衆號 - 純潔的明依(chenmingyi20181223)。
若有侵權,請聯繫 support@oschina.cn 刪除。
本文參與「OSC源創計劃」,歡迎正在閱讀的你也加入,一塊兒分享。app

相關文章
相關標籤/搜索