springboot +mina配置

来源:互联网 发布:macbook 自带软件 编辑:程序博客网 时间:2024/04/30 19:26

mina原生代码



import java.io.IOException;
import java.net.InetSocketAddress;

import org.apache.mina.core.service.IoAcceptor;
import org.apache.mina.core.session.IdleStatus;
import org.apache.mina.filter.logging.LoggingFilter;
import org.apache.mina.transport.socket.nio.NioSocketAcceptor;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;




public class Mina {
    private static final int PORT= 9123;


    public static void start() throws IOException {


        IoAcceptor acceptor = new NioSocketAcceptor();
        acceptor.getFilterChain().addLast( "logger", new LoggingFilter() );
        //acceptor.getFilterChain().addLast( "codec", new ProtocolCodecFilter( new TextLineCodecFactory(Charset.forName("UTF-8"))));
        acceptor.setHandler(new TimeServerHandler());


        acceptor.getSessionConfig().setReadBufferSize( 2048 );
        acceptor.getSessionConfig().setIdleTime( IdleStatus.BOTH_IDLE, 10 );


        acceptor.bind(new InetSocketAddress(PORT));
        System.out.println("服务器在端口:"+PORT+"已经启动");
    }
}


springboot配置
import java.io.IOException;
import java.net.InetSocketAddress;


import javax.xml.ws.Endpoint;


import org.apache.cxf.Bus;
import org.apache.cxf.bus.spring.SpringBus;
import org.apache.cxf.jaxws.EndpointImpl;
import org.apache.cxf.transport.servlet.CXFServlet;
import org.apache.mina.core.service.IoAcceptor;
import org.apache.mina.core.service.IoHandler;
import org.apache.mina.core.session.IdleStatus;
import org.apache.mina.filter.logging.LoggingFilter;
import org.apache.mina.transport.socket.nio.NioSocketAcceptor;
import org.springframework.boot.web.servlet.ServletRegistrationBean;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;


@Configuration
public class MinaConfig {
   
    
    @Bean
    public LoggingFilter loggingFilter() {
        return new LoggingFilter();
    }
    @Bean
    public IoHandler ioHandler() {
        return new TimeServerHandler();
    }
    @Bean
    public InetSocketAddress inetSocketAddress() {
        return new InetSocketAddress(9123);
    }
    
    @Bean
    public IoAcceptor ioAcceptor() throws Exception {
    IoAcceptor acceptor=new NioSocketAcceptor();
    acceptor.getFilterChain().addLast( "logger", loggingFilter() );
        //acceptor.getFilterChain().addLast( "codec", new ProtocolCodecFilter( new TextLineCodecFactory(Charset.forName("UTF-8"))));因为传byte[]所以去掉
        acceptor.setHandler(ioHandler());


        acceptor.getSessionConfig().setReadBufferSize( 2048 );
        acceptor.getSessionConfig().setIdleTime( IdleStatus.BOTH_IDLE, 10 );


        acceptor.bind(inetSocketAddress());
        System.out.println("服务器在端口:"+"已经启动");
        return acceptor;
    }
   
}
0 0
原创粉丝点击