Example usage for org.apache.mina.filter.logging LoggingFilter setSessionIdleLogLevel

List of usage examples for org.apache.mina.filter.logging LoggingFilter setSessionIdleLogLevel

Introduction

In this page you can find the example usage for org.apache.mina.filter.logging LoggingFilter setSessionIdleLogLevel.

Prototype

public void setSessionIdleLogLevel(LogLevel level) 

Source Link

Document

Set the LogLevel for the SessionIdle event.

Usage

From source file:net.MinaEngine.core.MServer.java

License:Apache License

/**
 * Sets the handler which will handle all connections managed by this service.
 * ???//from   w ww.  j a v a2  s. c  o m
 */
public void startService() throws Exception {

    boolean status = false;
    if (status) {
        /**
         *  Constructor for {@link org.apache.mina.transport.socket.nio.NioSocketAcceptor} using default parameters value  ==1, and
         * given number of {@link org.apache.mina.transport.socket.nio.NioProcessor} for multithreading I/O operations.
         *  NioSocketAcceptor==1
         * NioProcessor value== cpu+1
         * NioSocketAcceptor  ?        ? NioProcessor  I/O?
         */
        netAcceptor = new NioSocketAcceptor(Runtime.getRuntime().availableProcessors() + 1);

        IoBuffer.setUseDirectBuffer(false);
        /***filter chain config*/
        DefaultIoFilterChainBuilder chainBuilder = netAcceptor.getFilterChain();

        /**mina?filter*/
        LoggingFilter loggingFilter = new LoggingFilter();
        loggingFilter.setMessageReceivedLogLevel(LogLevel.NONE);
        loggingFilter.setMessageSentLogLevel(LogLevel.NONE);
        loggingFilter.setSessionClosedLogLevel(LogLevel.NONE);
        loggingFilter.setSessionCreatedLogLevel(LogLevel.NONE);
        loggingFilter.setSessionOpenedLogLevel(LogLevel.NONE);
        loggingFilter.setSessionIdleLogLevel(LogLevel.NONE);
        loggingFilter.setExceptionCaughtLogLevel(LogLevel.NONE);

        chainBuilder.addLast("logger", loggingFilter);

        /**??,IoProcessor ?*/
        chainBuilder.addLast("protocolCodecFilter", new ProtocolCodecFilter(new MServerProtocolCodecFactory()));

        /* ExecutorFilter 
         ????IO ???
         ExecutorFilter ?*/
        //           chainBuilder.addLast("executors",new ExecutorFilter(MServerConfig.corePoolSize,
        //                   MServerConfig.corePoolSize,MServerConfig.DEFAULT_KEEPALIVE_TIME, TimeUnit.SECONDS,
        //                   new PriorityThreadFactory("executionHandlerThread",Thread.NORM_PRIORITY)));//?
        //
        //            /***Handleradaptersession*/
        //           /**Sets the handler which will handle all connections managed by this service.*/
        //           netAcceptor.setHandler(new MServerIoHandler());
        //
        //            /***session config*/
        //           SocketSessionConfig sessionConfig=netAcceptor.getSessionConfig();
        //           sessionConfig.setReuseAddress(true);   //??
        //           sessionConfig.setKeepAlive(true);
        //           sessionConfig.setTcpNoDelay(true);
        //           sessionConfig.setIdleTime(IdleStatus.READER_IDLE,
        //                   MServerConfig.SESSION_IDLE); //readTimeout
        //
        //           //sessionConfig ??
        //           sessionConfig.setThroughputCalculationInterval(5);//default value of 3  seconds
        //
        //
        //           netAcceptor.bind(new InetSocketAddress(MServerConfig.GameServerPort));

    } else {
        LOG.warn("startService failed!");
    }
}

From source file:org.apache.asyncweb.server.transport.mina.MinaTransport.java

License:Apache License

/**
 * Starts this transport/*w  ww  . j a v a2  s.c om*/
 * 
 * @throws TransportException If the transport can not be started
 */
public void start() throws TransportException {
    initIOHandler();
    acceptor = new NioSocketAcceptor(ioThreads);
    eventExecutor = new OrderedThreadPoolExecutor(this.eventThreads);

    boolean success = false;
    try {
        DefaultIoFilterChainBuilder chain = acceptor.getFilterChain();

        chain.addFirst("threadPool", new ExecutorFilter(eventExecutor));
        acceptor.setReuseAddress(true);
        acceptor.getSessionConfig().setReuseAddress(true);

        chain.addLast("mdc", new MdcInjectionFilter());

        if (isLoggingTraffic) {
            LOG.debug("Configuring traffic logging filter");
            LoggingFilter filter = new LoggingFilter();
            filter.setSessionClosedLogLevel(logLevel);
            filter.setExceptionCaughtLogLevel(logLevel);
            filter.setMessageReceivedLogLevel(logLevel);
            filter.setMessageSentLogLevel(logLevel);
            filter.setSessionClosedLogLevel(logLevel);
            filter.setSessionCreatedLogLevel(logLevel);
            filter.setSessionIdleLogLevel(logLevel);
            filter.setSessionOpenedLogLevel(logLevel);
            acceptor.getFilterChain().addLast("logging", filter);
        }

        // TODO make this configurable instead of hardcoding like this
        acceptor.setBacklog(100);
        acceptor.setHandler(ioHandler);

        if (address != null) {
            acceptor.bind(new InetSocketAddress(address, port));
        } else {
            acceptor.bind(new InetSocketAddress(port));
        }

        success = true;
        LOG.debug("NIO HTTP Transport bound on port " + port);
    } catch (IOException e) {
        throw new TransportException("NIOTransport Failed to bind to port " + port, e);
    } finally {
        if (!success) {
            acceptor.dispose();
            acceptor = null;
        }
    }
}