@Override public void messageSent(IoSession session, Object message) throws Exception { super.messageSent(session, message); // Update counter of written btyes updateWrittenBytesCounter(session); //System.out.println("SENT: " + Charset.forName("UTF-8").decode(((ByteBuffer)message).buf())); }
json.append(stats.getCumulativeManagedSessionCount()); json.append(','); json.append(stats.getLargestManagedSessionCount()); json.append(','); json.append(stats.getLargestReadBytesThroughput()); json.append(','); json.append(stats.getLargestReadMessagesThroughput()); json.append(','); json.append(stats.getLargestWrittenBytesThroughput()); json.append(','); json.append(stats.getLargestWrittenMessagesThroughput()); json.append(','); json.append(stats.getLastIoTime()); json.append(','); json.append(stats.getLastReadTime()); json.append(','); json.append(stats.getLastWriteTime()); json.append(','); json.append(stats.getReadBytes()); json.append(',');
@Override protected void serverStart() throws RemotingException { acceptor = new NioSocketAcceptor(); //TCP Acceptor // acceptor.getFilterChain().addFirst("logging", new MinaLoggingFilter()); acceptor.getFilterChain().addLast("codec", new ProtocolCodecFilter(new MinaCodecFactory(getCodec()))); acceptor.getFilterChain().addLast("mdc", new MdcInjectionFilter()); acceptor.setHandler(new MinaHandler(this)); IoSessionConfig cfg = acceptor.getSessionConfig(); cfg.setReaderIdleTime(remotingServerConfig.getReaderIdleTimeSeconds()); cfg.setWriterIdleTime(remotingServerConfig.getWriterIdleTimeSeconds()); cfg.setBothIdleTime(remotingServerConfig.getServerChannelMaxIdleTimeSeconds()); bindAddress = new InetSocketAddress(remotingServerConfig.getListenPort()); try { acceptor.bind(bindAddress); } catch (IOException e) { throw new RemotingException("Start Mina server error", e); } }
log.debug("Connecting.."); IoConnector connector = new NioSocketConnector(); connector.setHandler(this); ConnectFuture future = connector.connect(forward); super.sessionCreated(session);
@Override public String toString() { TransportMetadata m = getTransportMetadata(); return '(' + m.getProviderName() + ' ' + m.getName() + " acceptor: " + (isActive() ? "localAddress(es): " + getLocalAddresses() + ", managedSessionCount: " + getManagedSessionCount() : "not bound") + ')'; }
@Override public void sessionCreated(IoSession session) throws Exception { final String remoteAddress = RemotingHelper.parseChannelRemoteAddr(new MinaChannel(session)); LOGGER.info("{} : sessionCreated {}", sideType, remoteAddress); super.sessionCreated(session); }
public InetSocketAddress localAddress() { return (InetSocketAddress) getTransports()[0].getAcceptor().getLocalAddress(); }
} else { SimpleIoProcessorPool<NioSession> pool = new SimpleIoProcessorPool<NioSession>(NioProcessor.class, maxProcessorPoolSize); stats = new IoServiceStatistics((AbstractIoService) acceptor); stats.setThroughputCalculationInterval(minaPollInterval); MBeanServer mbs = ManagementFactory.getPlatformMBeanServer(); try {
@SuppressWarnings({ "unchecked", "rawtypes" }) public void operationComplete(CloseFuture future) { // now connection should be closed log.debug("Close operation completed {}: {}", sessionId, future.isClosed()); future.removeListener(this); for (Object key : session.getAttributeKeys()) { Object obj = session.getAttribute(key); log.debug("{}: {}", key, obj); if (obj != null) { if (log.isTraceEnabled()) { log.trace("Attribute: {}", obj.getClass().getName()); } if (obj instanceof IoProcessor) { log.debug("Flushing session in processor"); ((IoProcessor) obj).flush(session); log.debug("Removing session from processor"); ((IoProcessor) obj).remove(session); } else if (obj instanceof IoBuffer) { log.debug("Clearing session buffer"); ((IoBuffer) obj).clear(); ((IoBuffer) obj).free(); } } } } };
/** * Start collecting stats for the {@link org.apache.mina.common.IoSession} of the service. * New sessions or destroyed will be automaticly added or removed. */ public void start() { synchronized (this) { if ( worker != null && worker.isAlive() ) throw new RuntimeException( "Stat collecting already started" ); // add all current sessions polledSessions = new ConcurrentLinkedQueue<>(); Map<Long, IoSession> sessions = service.getManagedSessions(); if (sessions != null) { for (IoSession ioSession : sessions.values()) { addSession(ioSession); } } // listen for new ones service.addListener( serviceListener ); // start polling worker = new Worker(); worker.start(); } }
/** {@inheritDoc} */ @Override public void sessionOpened(IoSession session) throws Exception { SocketSessionConfig ssc = (SocketSessionConfig) session.getConfig(); ssc.setTcpNoDelay(true); super.sessionOpened(session); }
@Override public void sessionClosed(IoSession session) throws Exception { super.sessionClosed(session); logger.debug("Session[{}] closed", session.getId()); }
log.trace("Session - write queue: {} session count: {}", session.getWriteRequestQueue().size(), session.getService().getManagedSessionCount());
/** * Stop collecting stats. all the {@link org.apache.mina.management.IoSessionStat} object will be removed of the * polled session attachements. */ public void stop() { synchronized (this) { service.removeListener( serviceListener ); // stop worker worker.stop = true; worker.interrupt(); while( worker.isAlive() ) { try { worker.join(); } catch( InterruptedException e ) { //ignore since this is shutdown time } } for (IoSession session : polledSessions) { session.removeAttribute(KEY); } polledSessions.clear(); } }
@Override protected void serverStart() throws RemotingException { acceptor = new NioSocketAcceptor(); //TCP Acceptor // acceptor.getFilterChain().addFirst("logging", new MinaLoggingFilter()); acceptor.getFilterChain().addLast("codec", new ProtocolCodecFilter(new MinaCodecFactory(getCodec()))); acceptor.getFilterChain().addLast("mdc", new MdcInjectionFilter()); acceptor.setHandler(new MinaHandler(this)); IoSessionConfig cfg = acceptor.getSessionConfig(); cfg.setReaderIdleTime(remotingServerConfig.getReaderIdleTimeSeconds()); cfg.setWriterIdleTime(remotingServerConfig.getWriterIdleTimeSeconds()); cfg.setBothIdleTime(remotingServerConfig.getServerChannelMaxIdleTimeSeconds()); bindAddress = new InetSocketAddress(remotingServerConfig.getListenPort()); try { acceptor.bind(bindAddress); } catch (IOException e) { throw new RemotingException("Start Mina server error", e); } }
@Override public void sessionCreated(IoSession session) throws Exception { final String remoteAddress = RemotingHelper.parseChannelRemoteAddr(new MinaChannel(session)); LOGGER.info("{} : sessionCreated {}", sideType, remoteAddress); super.sessionCreated(session); }
public InetSocketAddress localAddress() { return (InetSocketAddress) getTransports()[0].getAcceptor().getLocalAddress(); }
@Override public void sessionCreated(IoSession session) throws Exception { super.sessionCreated(session); Line line = state.getOrCreateLine((InetSocketAddress)session.getRemoteAddress()); session.setAttribute("line", line); logger.debug("Session[{}] created", session.getId()); }