Thank you for the tip. I looked into the NioSocketSession.filterChain and I could see my protocolcodecfactory object there. Here is how I am adding the filters:
protected static void addFilters(Properties props, NioSocketAcceptor acceptor, ProtocolCodecFactory factory) { DefaultIoFilterChainBuilder chain = acceptor.getFilterChain(); String threadCountStr = props.getProperty("threads"); int threadCount = threadCountStr == null ? s_threadCount : Integer.parseInt(threadCountStr.trim()); chain.addLast("protocol", new ProtocolCodecFilter(factory)); if (threadCount > 0) { ExecutorFilter filter = new ExecutorFilter(0, threadCount, s_timeout, TimeUnit.SECONDS); chain.addLast("limiter", filter); } } The above method is being shared to create filter chains for the old port as well as new port. Do you think the name "protocol" is causing some conflicts? As the same name "protocol" is being used to add the code filter factory for both instances of the acceptors? -- View this message in context: http://apache-mina.10907.n7.nabble.com/ProtocolEncoder-not-getting-used-in-the-response-path-tp51558p51601.html Sent from the Apache MINA User Forum mailing list archive at Nabble.com.