List of usage examples for org.apache.mina.transport.nio NioTcpServer setFilters
@Override public void setFilters(final IoFilter... filters)
From source file:com.semion.demo.mina.NioEchoServer.java
License:Apache License
public static void main(final String[] args) { LOG.info("starting echo server"); final NioTcpServer acceptor = new NioTcpServer(); // create the filter chain for this service acceptor.setFilters(new LoggingFilter("LoggingFilter1")); acceptor.setIoHandler(new AbstractIoHandler() { @Override/*from w w w . j ava2 s . com*/ public void sessionOpened(final IoSession session) { LOG.info("session opened {}", session); final String welcomeStr = "welcome\n"; final ByteBuffer bf = ByteBuffer.allocate(welcomeStr.length()); bf.put(welcomeStr.getBytes()); bf.flip(); session.write(bf); } @Override public void messageReceived(IoSession session, Object message) { if (message instanceof ByteBuffer) { LOG.info("echoing"); session.write(message); } } }); try { final SocketAddress address = new InetSocketAddress(9999); acceptor.bind(address); LOG.debug("Running the server for 25 sec"); Thread.sleep(25000); LOG.debug("Unbinding the TCP port"); acceptor.unbind(); } catch (final InterruptedException e) { LOG.error("Interrupted exception", e); } }