use of org.apache.mina.transport.socket.nio.NioSocketAcceptor in project camel by apache.
the class Mina2ReverserServer method start.
public void start() throws Exception {
acceptor = new NioSocketAcceptor();
// Prepare the configuration
((NioSocketAcceptor) acceptor).setReuseAddress(true);
Charset charset = Charset.forName("UTF-8");
acceptor.getFilterChain().addLast("codec", new ProtocolCodecFilter(new TextLineCodecFactory(charset)));
acceptor.setHandler(new Mina2ReverseProtocolHandler());
// Bind
acceptor.bind(new InetSocketAddress(port));
}
use of org.apache.mina.transport.socket.nio.NioSocketAcceptor in project camel by apache.
the class Mina2Consumer method setupSocketProtocol.
protected void setupSocketProtocol(String uri, Mina2Configuration configuration) throws Exception {
LOG.debug("createSocketEndpoint");
boolean minaLogger = configuration.isMinaLogger();
List<IoFilter> filters = configuration.getFilters();
address = new InetSocketAddress(configuration.getHost(), configuration.getPort());
final int processorCount = Runtime.getRuntime().availableProcessors() + 1;
acceptor = new NioSocketAcceptor(processorCount);
// acceptor connectorConfig
configureCodecFactory("Mina2Consumer", acceptor, configuration);
((NioSocketAcceptor) acceptor).setReuseAddress(true);
acceptor.setCloseOnDeactivation(true);
if (configuration.isOrderedThreadPoolExecutor()) {
workerPool = new OrderedThreadPoolExecutor(configuration.getMaximumPoolSize());
} else {
workerPool = new UnorderedThreadPoolExecutor(configuration.getMaximumPoolSize());
}
acceptor.getFilterChain().addLast("threadPool", new ExecutorFilter(workerPool));
if (minaLogger) {
acceptor.getFilterChain().addLast("logger", new LoggingFilter());
}
appendIoFiltersToChain(filters, acceptor.getFilterChain());
if (configuration.getSslContextParameters() != null) {
SslFilter filter = new SslFilter(configuration.getSslContextParameters().createSSLContext(getEndpoint().getCamelContext()), configuration.isAutoStartTls());
filter.setUseClientMode(false);
acceptor.getFilterChain().addFirst("sslFilter", filter);
}
}
use of org.apache.mina.transport.socket.nio.NioSocketAcceptor in project opennms by OpenNMS.
the class AsyncSimpleServer method startServer.
/**
* <p>startServer</p>
*
* @throws java.lang.Exception if any.
*/
public void startServer() throws Exception {
m_acceptor = new NioSocketAcceptor();
m_acceptor.getFilterChain().addLast("logger", new LoggingFilter());
m_acceptor.getFilterChain().addLast("codec", new ProtocolCodecFilter(new TextLineCodecFactory(StandardCharsets.UTF_8)));
m_acceptor.setHandler(getServerHandler());
m_acceptor.getSessionConfig().setReadBufferSize(getBufferSize());
m_acceptor.getSessionConfig().setIdleTime(IdleStatus.BOTH_IDLE, getIdleTime());
((NioSocketAcceptor) m_acceptor).setReuseAddress(true);
m_acceptor.bind(new InetSocketAddress(getPort()));
}
use of org.apache.mina.transport.socket.nio.NioSocketAcceptor in project MtgDesktopCompanion by nicho92.
the class ConsoleServer method start.
@Override
public void start() throws IOException {
acceptor = new NioSocketAcceptor();
acceptor.getFilterChain().addLast("codec", new ProtocolCodecFilter(new TextLineCodecFactory(Charset.forName(getString("ENCODING")))));
acceptor.getSessionConfig().setReadBufferSize(Integer.parseInt(getString("BUFFER-SIZE")));
acceptor.getSessionConfig().setIdleTime(IdleStatus.BOTH_IDLE, Integer.parseInt(getString("IDLE-TIME")));
acceptor.setHandler(new MTGConsoleHandler());
acceptor.bind(new InetSocketAddress(Integer.parseInt(getString("SERVER-PORT"))));
logger.info("Server started on port " + getString("SERVER-PORT"));
}
use of org.apache.mina.transport.socket.nio.NioSocketAcceptor in project lobcder by skoulouzis.
the class MiltonListener method start.
/**
* @see Listener#start(FtpServerContext)
*/
public synchronized void start(FtpServerContext context) {
try {
this.context = context;
acceptor = new NioSocketAcceptor(Runtime.getRuntime().availableProcessors());
if (getServerAddress() != null) {
address = new InetSocketAddress(getServerAddress(), getPort());
} else {
address = new InetSocketAddress(getPort());
}
acceptor.setReuseAddress(true);
acceptor.getSessionConfig().setReadBufferSize(2048);
acceptor.getSessionConfig().setIdleTime(IdleStatus.BOTH_IDLE, getIdleTimeout());
// Decrease the default receiver buffer size
((SocketSessionConfig) acceptor.getSessionConfig()).setReceiveBufferSize(512);
MdcInjectionFilter mdcFilter = new MdcInjectionFilter();
acceptor.getFilterChain().addLast("mdcFilter", mdcFilter);
// add and update the blacklist filter
acceptor.getFilterChain().addLast("ipFilter", new BlacklistFilter());
updateBlacklistFilter();
acceptor.getFilterChain().addLast("threadPool", new ExecutorFilter(filterExecutor));
acceptor.getFilterChain().addLast("codec", new ProtocolCodecFilter(new FtpServerProtocolCodecFactory()));
acceptor.getFilterChain().addLast("mdcFilter2", mdcFilter);
acceptor.getFilterChain().addLast("logger", new FtpLoggingFilter());
if (isImplicitSsl()) {
SslConfiguration ssl = getSslConfiguration();
SslFilter sslFilter;
try {
sslFilter = new SslFilter(ssl.getSSLContext());
} catch (GeneralSecurityException e) {
throw new FtpServerConfigurationException("SSL could not be initialized, check configuration");
}
if (ssl.getClientAuth() == ClientAuth.NEED) {
sslFilter.setNeedClientAuth(true);
} else if (ssl.getClientAuth() == ClientAuth.WANT) {
sslFilter.setWantClientAuth(true);
}
if (ssl.getEnabledCipherSuites() != null) {
sslFilter.setEnabledCipherSuites(ssl.getEnabledCipherSuites());
}
acceptor.getFilterChain().addFirst("sslFilter", sslFilter);
}
handler.init(context, this);
// ////////////////////////////////////////
// Here's the hack. Instead of instantiating a defaultftphandler
// we use the one supplied in the constructor
// ////////////////////////////////////////
acceptor.setHandler(new FtpHandlerAdapter(context, handler));
try {
acceptor.bind(address);
} catch (IOException e) {
throw new FtpServerConfigurationException("Failed to bind to address " + address + ", check configuration", e);
}
updatePort();
} catch (RuntimeException e) {
// clean up if we fail to start
stop();
throw e;
}
}
Aggregations