You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@mina.apache.org by "Marat Gainullin (JIRA)" <ji...@apache.org> on 2015/06/04 11:11:38 UTC

[jira] [Created] (DIRMINA-1012) SSLFilter does not work in combination with ExecutorFilter

Marat Gainullin created DIRMINA-1012:
----------------------------------------

             Summary: SSLFilter does not work in combination with ExecutorFilter
                 Key: DIRMINA-1012
                 URL: https://issues.apache.org/jira/browse/DIRMINA-1012
             Project: MINA
          Issue Type: Bug
          Components: Filter, SSL
    Affects Versions: 2.0.9
         Environment: Windows 7 x32
Java(TM) SE Runtime Environment (build 1.8.0_45-b14)
Java HotSpot(TM) Client VM (build 25.45-b02, mixed mode, sharing)
            Reporter: Marat Gainullin


If i include SslFilter after the ExecutorFilter in acceptor filter chain, than SslFilter works unstable. It works sometimes and sometimes it doesn't work. It is likely because of multithreaded environment.
If I move it on top of the filter chain, it works fine.
Here is buggy filter chain:
        final IoAcceptor acceptor = new NioSocketAcceptor(executor/*Some outer thread pool*/, new NioProcessor(ioProcessorExecutor/*thread pool with only one thread (nio events waiter)*/));
        acceptor.getFilterChain().addLast("executor", new ExecutorFilter(executor, IoEventType.EXCEPTION_CAUGHT,
                IoEventType.MESSAGE_RECEIVED, IoEventType.MESSAGE_SENT, IoEventType.SESSION_CLOSED));
        acceptor.getFilterChain().addLast("encryption", sslFilter);
        acceptor.getFilterChain().addLast("platypusCodec", new ProtocolCodecFilter(new ResponseEncoder(), new RequestDecoder()));
        PlatypusRequestsHandler handler = new PlatypusRequestsHandler(this);
        acceptor.setHandler(handler);

I think that SslFilter have to work properly in multithreaded environment, but it doesn't.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)