Package org.apache.mina.common

Examples of org.apache.mina.common.IoAcceptor


        }

        try
        {
            // Create an acceptor
            IoAcceptor acceptor = new SocketAcceptor();
           
            // Create a service configuration
            SocketAcceptorConfig cfg = new SocketAcceptorConfig();
            cfg.setReuseAddress( true );
            cfg.getFilterChain().addLast(
                    "protocolFilter",
                    new ProtocolCodecFilter( new HttpServerProtocolCodecFactory() ) );
            cfg.getFilterChain().addLast( "logger", new LoggingFilter() );

            acceptor.bind( new InetSocketAddress( port ), new ServerHandler(), cfg );

            System.out.println( "Server now listening on port " + port );
        }
        catch( Exception ex )
        {
View Full Code Here


{
    private static final int PORT = 8080;

    public static void main( String[] args ) throws Exception
    {
        IoAcceptor acceptor = new SocketAcceptor();

        // Prepare the configuration
        SocketAcceptorConfig cfg = new SocketAcceptorConfig();
        cfg.setReuseAddress( true );
        cfg.getFilterChain().addLast( "logger", new LoggingFilter() );
        cfg.getFilterChain().addLast(
                "codec",
                new ProtocolCodecFilter(
                        new TextLineCodecFactory( Charset.forName( "UTF-8" ) ) ) );

        // Bind
        acceptor.bind(
                new InetSocketAddress( PORT ),
                new ReverseProtocolHandler(), cfg );

        System.out.println( "Listening on port " + PORT );
    }
View Full Code Here

   
    private static final boolean USE_SSL = false;

    public static void main( String[] args ) throws Exception
    {
        IoAcceptor acceptor = new SocketAcceptor();
        IoAcceptorConfig config = new SocketAcceptorConfig();
        DefaultIoFilterChainBuilder chain = config.getFilterChain();

        // Add SSL filter if SSL is enabled.
        if( USE_SSL )
        {
            addSSLSupport( chain );
        }

        // Bind
        acceptor.bind(
                new InetSocketAddress( PORT ),
                new HttpProtocolHandler(),
                config );

        System.out.println( "Listening on port " + PORT );
View Full Code Here

    public void testDisconnectOnUnbind() throws Exception
    {
        final IoServiceListenerSupport support = new IoServiceListenerSupport();
   
        MockControl acceptorControl = MockControl.createStrictControl( IoAcceptor.class );
        IoAcceptor acceptor = ( IoAcceptor ) acceptorControl.getMock();

        final TestSession session = new TestSession( acceptor, ADDRESS );

        MockControl configControl = MockControl.createStrictControl( IoAcceptorConfig.class );
        IoAcceptorConfig config = ( IoAcceptorConfig ) configControl.getMock();
View Full Code Here

    protected abstract IoConnector createConnector();
   
    public void testConnectFutureSuccessTiming() throws Exception
    {
        int port = AvailablePortFinder.getNextAvailable( 1025 );
        IoAcceptor acceptor = createAcceptor();
        acceptor.bind( new InetSocketAddress( port ), new IoHandlerAdapter() );
       
        try
        {
            final StringBuffer buf = new StringBuffer();
            IoConnector connector = createConnector();
            ConnectFuture future = connector.connect(
                    new InetSocketAddress( "localhost", port ),
                    new IoHandlerAdapter()
                    {
                        public void sessionCreated( IoSession session )
                        {
                            buf.append( "1" );
                        }
                       
                        public void sessionOpened( IoSession session )
                        {
                            buf.append( "2" );
                        }
                       
                        public void exceptionCaught( IoSession session, Throwable cause )
                        {
                            buf.append( "X" );
                        }
                    });
           
            future.join();
            buf.append("3");
            future.getSession().close();
            Assert.assertEquals( "123", buf.toString() );
        }
        finally
        {
            acceptor.unbind( new InetSocketAddress( port ) );
        }
    }
View Full Code Here

    // Set this to false to use object serialization instead of custom codec.
    private static final boolean USE_CUSTOM_CODEC = true;

    public static void main( String[] args ) throws Throwable
    {
        IoAcceptor acceptor = new SocketAcceptor();
       
        // Prepare the service configuration.
        SocketAcceptorConfig cfg = new SocketAcceptorConfig();
        cfg.setReuseAddress( true );
        if( USE_CUSTOM_CODEC )
        {
            cfg.getFilterChain().addLast(
                    "codec",
                    new ProtocolCodecFilter( new SumUpProtocolCodecFactory( true ) ) );
        }
        else
        {
            cfg.getFilterChain().addLast(
                    "codec",
                    new ProtocolCodecFilter( new ObjectSerializationCodecFactory() ) );
        }
        cfg.getFilterChain().addLast( "logger", new LoggingFilter() );

        acceptor.bind(
                new InetSocketAddress( SERVER_PORT ),
                new ServerSessionHandler( ), cfg );

        System.out.println( "Listening on port " + SERVER_PORT );
    }
View Full Code Here

        Assert.assertEquals( "ABC", actual.toString() );
    }

    public void testClientToServer() throws Exception
    {
        IoAcceptor acceptor = new VmPipeAcceptor();
        acceptor.getDefaultConfig().setThreadModel( ThreadModel.MANUAL );
        //acceptor.getFilterChain().addLast( "logger", new LoggingFilter() );

        IoConnector connector = new VmPipeConnector();
        connector.getDefaultConfig().setThreadModel( ThreadModel.MANUAL );
        //connector.getFilterChain().addLast( "logger", new LoggingFilter() );
       
        final StringBuffer actual = new StringBuffer();
       
        acceptor.bind(
                new VmPipeAddress( 1 ),
                new IoHandlerAdapter() {

                    public void messageReceived( IoSession session, Object message ) throws Exception
                    {
                        actual.append( message );
                    }

                    public void sessionClosed( IoSession session ) throws Exception
                    {
                        actual.append( "C" );
                    }

                    public void sessionOpened( IoSession session ) throws Exception {
                        actual.append( "A" );
                    }
                   
                });
       
        ConnectFuture future = connector.connect(
                new VmPipeAddress( 1 ),
                new IoHandlerAdapter() {
                    public void sessionOpened( IoSession session ) throws Exception
                    {
                        session.write("B");
                    }
                   
                    public void messageSent( IoSession session, Object message ) throws Exception
                    {
                        session.close();
                    }
                });

        future.join();
        future.getSession().getCloseFuture().join();
        acceptor.unbindAll();
       
        // sessionClosed() might not be invoked yet
        // even if the connection is closed.
        while( actual.indexOf("C") < 0 )
        {
View Full Code Here

*/
public class VmPipeEventOrderTest extends TestCase
{
    public void testServerToClient() throws Exception
    {
        IoAcceptor acceptor = new VmPipeAcceptor();
        acceptor.getDefaultConfig().setThreadModel( ThreadModel.MANUAL );
        //acceptor.getFilterChain().addLast( "logger", new LoggingFilter() );

        IoConnector connector = new VmPipeConnector();
        connector.getDefaultConfig().setThreadModel( ThreadModel.MANUAL );
        //connector.getFilterChain().addLast( "logger", new LoggingFilter() );
       
        acceptor.bind(
                new VmPipeAddress( 1 ),
                new IoHandlerAdapter() {
                    public void sessionOpened( IoSession session ) throws Exception
                    {
                        session.write("B");
                    }
                   
                    public void messageSent( IoSession session, Object message ) throws Exception
                    {
                        session.close();
                    }
                });
       
        final StringBuffer actual = new StringBuffer();
       
        ConnectFuture future = connector.connect(
                new VmPipeAddress( 1 ),
                new IoHandlerAdapter() {

                    public void messageReceived( IoSession session, Object message ) throws Exception
                    {
                        actual.append( message );
                    }

                    public void sessionClosed( IoSession session ) throws Exception
                    {
                        actual.append( "C" );
                    }

                    public void sessionOpened( IoSession session ) throws Exception {
                        actual.append( "A" );
                    }
                   
                });

        future.join();
        future.getSession().getCloseFuture().join();
        acceptor.unbindAll();
       
        // sessionClosed() might not be invoked yet
        // even if the connection is closed.
        while( actual.indexOf("C") < 0 )
        {
View Full Code Here

    protected void bind(int port, ConnectorConfiguration connectorConfig)
    {
        try
        {
            IoAcceptor acceptor = new SocketAcceptor();
            SocketAcceptorConfig sconfig = (SocketAcceptorConfig) acceptor.getDefaultConfig();
            SocketSessionConfig sc = (SocketSessionConfig) sconfig.getSessionConfig();

            sc.setReceiveBufferSize(connectorConfig.socketReceiveBufferSize);
            sc.setSendBufferSize(connectorConfig.socketWriteBuferSize);
            sc.setTcpNoDelay(true);

            // if we do not use the executor pool threading model we get the default leader follower
            // implementation provided by MINA
            if (connectorConfig.enableExecutorPool)
            {
                sconfig.setThreadModel(ReadWriteThreadModel.getInstance());
            }

            String host = InetAddress.getLocalHost().getHostName();
            ClusteredProtocolHandler handler = new ClusteredProtocolHandler(new InetSocketAddress(host, port));
            if (!connectorConfig.enableSSL)
            {
                acceptor.bind(new InetSocketAddress(port), handler, sconfig);
                _logger.info("Qpid.AMQP listening on non-SSL port " + port);
                handler.connect(commandLine.getOptionValue("j"));
            }
            else
            {
                ClusteredProtocolHandler sslHandler = new ClusteredProtocolHandler(handler);
                acceptor.bind(new InetSocketAddress(connectorConfig.sslPort), sslHandler, sconfig);
                _logger.info("Qpid.AMQP listening on SSL port " + connectorConfig.sslPort);
            }
        }
        catch (IOException e)
        {
View Full Code Here

    protected MinaEndpoint createVmEndpoint(String uri, MinaConfiguration configuration) {
        boolean minaLogger = configuration.isMinaLogger();
        boolean sync = configuration.isSync();
        List<IoFilter> filters = configuration.getFilters();

        IoAcceptor acceptor = new VmPipeAcceptor();
        SocketAddress address = new VmPipeAddress(configuration.getPort());
        IoConnector connector = new VmPipeConnector();

        // connector config
        configureCodecFactory("MinaProducer", connector.getDefaultConfig(), configuration);
        if (minaLogger) {
            connector.getFilterChain().addLast("logger", new LoggingFilter());
        }
        appendIoFiltersToChain(filters, connector.getFilterChain());

        // acceptor connectorConfig
        configureCodecFactory("MinaConsumer", acceptor.getDefaultConfig(), configuration);
        if (minaLogger) {
            acceptor.getFilterChain().addLast("logger", new LoggingFilter());
        }
        appendIoFiltersToChain(filters, acceptor.getFilterChain());

        MinaEndpoint endpoint = new MinaEndpoint(uri, this);
        endpoint.setAddress(address);
        endpoint.setAcceptor(acceptor);
        endpoint.setConnector(connector);
View Full Code Here

TOP

Related Classes of org.apache.mina.common.IoAcceptor

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.