本文整理了Java中org.apache.mina.transport.socket.nio.NioSocketAcceptor
类的一些代码示例,展示了NioSocketAcceptor
类的具体用法。这些代码示例主要来源于Github
/Stackoverflow
/Maven
等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。NioSocketAcceptor
类的具体详情如下:
包路径:org.apache.mina.transport.socket.nio.NioSocketAcceptor
类名称:NioSocketAcceptor
[英]IoAcceptor for socket transport (TCP/IP). This class handles incoming TCP/IP based socket connections.
[中]套接字传输的IoAcceptor(TCP/IP)。此类处理传入的基于TCP/IP的套接字连接。
代码示例来源:origin: Red5/red5-server
acceptor = new NioSocketAcceptor(ioThreads);
} else {
acceptor = new NioSocketAcceptor(executor, pool);
if (addr.indexOf(':') != -1) {
String[] parts = addr.split(":");
socketAddresses.add(new InetSocketAddress(parts[0], Integer.valueOf(parts[1])));
} else {
socketAddresses.add(new InetSocketAddress(addr, 1935));
代码示例来源:origin: apache/flume
acceptor = new NioSocketAcceptor(numProcessors);
} else {
acceptor = new NioSocketAcceptor();
filter.setEnabledProtocols(getFilteredProtocols(sslParameters));
filter.setEnabledCipherSuites(getFilteredCipherSuites(sslParameters));
acceptor.getFilterChain().addFirst("ssl", filter);
});
acceptor.setReuseAddress(true);
acceptor.getSessionConfig().setReadBufferSize(readBufferSize);
acceptor.getSessionConfig().setIdleTime(IdleStatus.BOTH_IDLE, 10);
acceptor.setHandler(new MultiportSyslogHandler(maxEventSize, batchSize,
getChannelProcessor(), sourceCounter, portHeader, clientIPHeader,
clientHostnameHeader, defaultDecoder, portCharsets, keepFields));
InetSocketAddress addr;
if (host != null) {
addr = new InetSocketAddress(host, port);
} else {
addr = new InetSocketAddress(port);
acceptor.bind(addr);
} catch (IOException ex) {
logger.error("Could not bind to address: " + String.valueOf(addr), ex);
代码示例来源:origin: igniterealtime/Openfire
private static NioSocketAcceptor buildSocketAcceptor()
{
// Create SocketAcceptor with correct number of processors
final int processorCount = JiveGlobals.getIntProperty( "xmpp.processor.count", Runtime.getRuntime().availableProcessors() );
final NioSocketAcceptor socketAcceptor = new NioSocketAcceptor( processorCount );
// Set that it will be possible to bind a socket if there is a connection in the timeout state.
socketAcceptor.setReuseAddress( true );
// Set the listen backlog (queue) length. Default is 50.
socketAcceptor.setBacklog( JiveGlobals.getIntProperty( "xmpp.socket.backlog", 50 ) );
// Set default (low level) settings for new socket connections
final SocketSessionConfig socketSessionConfig = socketAcceptor.getSessionConfig();
//socketSessionConfig.setKeepAlive();
final int receiveBuffer = JiveGlobals.getIntProperty( "xmpp.socket.buffer.receive", -1 );
if ( receiveBuffer > 0 )
{
socketSessionConfig.setReceiveBufferSize( receiveBuffer );
}
final int sendBuffer = JiveGlobals.getIntProperty( "xmpp.socket.buffer.send", -1 );
if ( sendBuffer > 0 )
{
socketSessionConfig.setSendBufferSize( sendBuffer );
}
final int linger = JiveGlobals.getIntProperty( "xmpp.socket.linger", -1 );
if ( linger > 0 )
{
socketSessionConfig.setSoLinger( linger );
}
socketSessionConfig.setTcpNoDelay( JiveGlobals.getBooleanProperty( "xmpp.socket.tcp-nodelay", socketSessionConfig.isTcpNoDelay() ) );
return socketAcceptor;
}
代码示例来源:origin: igniterealtime/Openfire
final DefaultIoFilterChainBuilder filterChain = socketAcceptor.getFilterChain();
filterChain.addFirst( ConnectionManagerImpl.EXECUTOR_FILTER_NAME, executorFilter );
socketAcceptor.getSessionConfig().setMaxReadBufferSize( configuration.getMaxBufferSize() );
Log.debug( "Throttling read buffer for connections to max={} bytes", configuration.getMaxBufferSize() );
socketAcceptor.setHandler( connectionHandler );
socketAcceptor.bind( new InetSocketAddress( configuration.getBindAddress(), configuration.getPort() ) );
socketAcceptor.unbind();
} finally {
socketAcceptor = null;
代码示例来源:origin: io.termd/termd-core
sshPort = sshd.getPort();
NioSocketAcceptor acceptor = new NioSocketAcceptor();
acceptor.setHandler(new IoHandlerAdapter() {
@Override
public void messageReceived(IoSession session, Object message) throws Exception {
acceptor.setReuseAddress(true);
acceptor.bind(new InetSocketAddress(0));
echoPort = acceptor.getLocalAddress().getPort();
this.acceptor = acceptor;
代码示例来源:origin: org.apache.vysper/vysper-core
public void start() throws IOException {
NioSocketAcceptor acceptor = new NioSocketAcceptor();
DefaultIoFilterChainBuilder filterChainBuilder = new DefaultIoFilterChainBuilder();
//filterChainBuilder.addLast("executorFilter", new OrderedThreadPoolExecutor());
filterChainBuilder.addLast("xmppCodec", new ProtocolCodecFilter(new XMPPProtocolCodecFactory()));
filterChainBuilder.addLast("loggingFilter", new StanzaLoggingFilter());
acceptor.setFilterChainBuilder(filterChainBuilder);
XmppIoHandlerAdapter adapter = new XmppIoHandlerAdapter();
adapter.setServerRuntimeContext(serverRuntimeContext);
acceptor.setHandler(adapter);
acceptor.setReuseAddress(true);
acceptor.bind(new InetSocketAddress(port));
this.acceptor = acceptor;
}
代码示例来源:origin: jobxhub/JobX
@Override
public void run() {
final MinaServerHandler serverHandler = new MinaServerHandler(handler);
socketAddress = new InetSocketAddress(port);
acceptor = new NioSocketAcceptor();
acceptor.getFilterChain().addLast("threadPool", new ExecutorFilter(Executors.newCachedThreadPool()));
acceptor.getFilterChain().addLast("codec", new ProtocolCodecFilter(new MinaCodecAdapter(Response.class, Request.class)));
acceptor.setHandler(serverHandler);
try {
acceptor.bind(socketAddress);
if (logger.isInfoEnabled()) {
logger.info("[JobX] MinaServer start at address:{} success", port);
}
} catch (IOException e) {
logger.error("[JobX] MinaServer start failure: {}", stackTrace(e));
}
}
});
代码示例来源:origin: OpenNMS/opennms
/**
* <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()));
}
代码示例来源:origin: org.apache.directory.server/apacheds-protocol-shared
/**
* Helper method to create an IoAcceptor
*/
private IoAcceptor createAcceptor( String address, int port, int nbThreads, int backLog )
{
NioSocketAcceptor acceptor = new NioSocketAcceptor( nbThreads );
acceptor.setReuseAddress( true );
acceptor.setBacklog( backLog );
InetSocketAddress socketAddress = null;
// The address can be null here, if one want to connect using the wildcard address
if ( address == null )
{
// Create a socket listening on the wildcard address
socketAddress = new InetSocketAddress( port );
}
else
{
socketAddress = new InetSocketAddress( address, port );
}
acceptor.setDefaultLocalAddress( socketAddress );
return acceptor;
}
代码示例来源:origin: com.github.mrstampy/esp
@Override
public void bindBroadcaster() throws IOException {
if (!canBroadcast()) {
log.warn("AbstractMultiConnectionSocket is not broadcasting events, cannot bind broadcaster");
return;
}
if (socketBroadcaster.isActive()) {
log.warn("AbstractMultiConnectionSocket is already bound");
return;
}
socketBroadcaster.bind(new InetSocketAddress(AbstractSocketConnector.BROADCASTER_PORT));
notifyConnectionEventListeners(State.BOUND);
}
代码示例来源:origin: org.drools/drools-grid-impl
public synchronized void open(InetSocketAddress address,
MessageReceiverHandler handler,
SystemEventListener systemEventListener) {
if ( logger.isInfoEnabled() ){
logger.info("(" + Thread.currentThread().getId() + ")"+Thread.currentThread().getName() +" ### Binding a new SocketAcceptor to "+address.getHostName()+":"+address.getPort());
}
if ( this.acceptor == null ) {
acceptor = new NioSocketAcceptor( 16 );
acceptor.getFilterChain().addLast( "codec",
new ProtocolCodecFilter( new ObjectSerializationCodecFactory() ) );
acceptor.getSessionConfig().setReadBufferSize( 2048 );
acceptor.getSessionConfig().setIdleTime( IdleStatus.BOTH_IDLE,
100 );
}
this.handler = handler;
acceptor.setHandler( new MinaIoHandler( systemEventListener,
handler ) );
try {
acceptor.bind( address );
} catch ( IOException e ) {
throw new RuntimeException( "(" + Thread.currentThread().getId() + ")"+Thread.currentThread().getName() +"Unable to bind Mina Acceptor",
e );
}
}
代码示例来源:origin: com.eas.platypus/platypus-js-server
private void initializeAndBindPlatypusAcceptor(InetSocketAddress s) throws IOException, Exception {
//final SslFilter sslFilter = new SslFilter(sslContext); commented out until MINA Sslfilter bugs will be fixed
ThreadPoolExecutor connectionsPollerExecutor = new ThreadPoolExecutor(1, 1,
3L, TimeUnit.SECONDS,
new LinkedBlockingQueue<>(),
new PlatypusThreadFactory("nio-polling-", false));
final IoAcceptor acceptor = new NioSocketAcceptor(connectionsPollerExecutor, new NioProcessor(executor));
//acceptor.getFilterChain().addLast("encryption", sslFilter); commented out until MINA Sslfilter bugs will be fixed
acceptor.getFilterChain().addLast("platypusCodec", new ProtocolCodecFilter(new ResponseEncoder(), new RequestDecoder()));
/*
acceptor.getFilterChain().addLast("executor", new ExecutorFilter(executor, IoEventType.EXCEPTION_CAUGHT,
IoEventType.MESSAGE_RECEIVED, IoEventType.MESSAGE_SENT, IoEventType.SESSION_CLOSED, IoEventType.SESSION_IDLE, IoEventType.CLOSE, IoEventType.WRITE));
*/
PlatypusRequestsHandler handler = new PlatypusRequestsHandler(this);
acceptor.setHandler(handler);
Integer sessionIdleTime = portsSessionIdleTimeouts != null ? portsSessionIdleTimeouts.get(s.getPort()) : null;
if (sessionIdleTime == null || sessionIdleTime == 0) {
sessionIdleTime = PlatypusRequestsHandler.SESSION_TIME_OUT;
}
Integer sessionIdleCheckInterval = portsSessionIdleCheckIntervals != null ? portsSessionIdleCheckIntervals.get(s.getPort()) : null;
if (sessionIdleCheckInterval == null || sessionIdleCheckInterval == 0) {
sessionIdleCheckInterval = PlatypusRequestsHandler.IDLE_TIME_EVENT;
}
handler.setSessionIdleCheckInterval(sessionIdleCheckInterval);
handler.setSessionIdleTime(sessionIdleTime);
acceptor.bind(s);
Logger.getLogger(ServerMain.class.getName()).log(Level.INFO, "Listening platypus protocol on {0}", s.toString());
}
代码示例来源:origin: quickfix-j/quickfixj
public static IoAcceptor createIoAcceptor(int transportType) {
if (transportType == SOCKET) {
NioSocketAcceptor ret = new NioSocketAcceptor();
ret.setReuseAddress(true);
return ret;
} else if (transportType == VM_PIPE) {
return new VmPipeAcceptor();
} else {
throw new RuntimeError("Unsupported transport type: " + transportType);
}
}
代码示例来源:origin: org.eclipse.neoscada.core/org.eclipse.scada.core.server.ngp
public ServerBase ( final Collection<InetSocketAddress> addresses, final ProtocolConfigurationFactory protocolConfigurationFactory ) throws Exception
{
this.addresses = addresses;
this.acceptor = new NioSocketAcceptor ();
this.acceptor.setReuseAddress ( true );
this.chainBuilder = new FilterChainBuilder ( false );
this.chainBuilder.setLoggerName ( ServerBase.class.getName () + ".protocol" );
this.acceptor.setFilterChainBuilder ( this.chainBuilder );
this.acceptor.setHandler ( new ServerBaseHandler ( this, protocolConfigurationFactory.createConfiguration ( false ) ) );
}
代码示例来源:origin: com.github.mrstampy/esp
/**
* Initialization of the broadcaster, to send
* {@link AbstractMultiConnectionEvent}s to remote processes which have
* registered for subscriptions. Invoke during object creation.
*
* @throws IOException Signals that an I/O exception has occurred.
*/
protected void initBroadCaster() throws IOException {
socketBroadcaster = new NioSocketAcceptor();
DefaultIoFilterChainBuilder chain = socketBroadcaster.getFilterChain();
MdcInjectionFilter mdcInjectionFilter = new MdcInjectionFilter();
chain.addLast("mdc", mdcInjectionFilter);
if (log.isDebugEnabled()) chain.addLast("logger", new LoggingFilter());
chain.addLast("codec", new ProtocolCodecFilter(new ObjectSerializationCodecFactory()));
socketBroadcaster.setHandler(getHandlerAdapter());
socketBroadcaster.setReuseAddress(true);
bindBroadcaster();
}
代码示例来源:origin: jzyong/game-server
/**
* @param minaServerConfig 配置
* @param ioHandler 消息处理器
*/
public TcpServer(MinaServerConfig minaServerConfig, IoHandler ioHandler) {
this.minaServerConfig = minaServerConfig;
this.ioHandler = ioHandler;
acceptor = new NioSocketAcceptor();
}
代码示例来源:origin: org.apache.mina/mina-core
/**
* Constructor for {@link NioSocketAcceptor} with default configuration but a
* specific {@link IoProcessor}, useful for sharing the same processor over multiple
* {@link IoService} of the same type.
* @param processor the processor to use for managing I/O events
*/
public NioSocketAcceptor(IoProcessor<NioSession> processor) {
super(new DefaultSocketSessionConfig(), processor);
((DefaultSocketSessionConfig) getSessionConfig()).init(this);
}
代码示例来源:origin: org.apache.directory.server/apacheds-protocol-dns
( ( NioSocketAcceptor ) acceptor ).setReuseAddress( true );
( ( NioSocketAcceptor ) acceptor ).getSessionConfig().setTcpNoDelay( true );
代码示例来源:origin: kaazing/gateway
socket.setReuseAddress(isReuseAddress());
System.out.println("NioSocketAcceptor.open(): setReceiveBufferSize:"+getSessionConfig().getReceiveBufferSize());
socket.setReceiveBufferSize(getSessionConfig().getReceiveBufferSize());
socket.bind(localAddress, getBacklog());
} finally {
if (!success) {
close(channel);
代码示例来源:origin: igniterealtime/Openfire
final DefaultIoFilterChainBuilder filterChain = socketAcceptor.getFilterChain();
socketAcceptor.getSessionConfig().setMaxReadBufferSize( configuration.getMaxBufferSize() );
Log.debug( "Throttling read buffer for connections to max={} bytes", configuration.getMaxBufferSize() );
内容来源于网络,如有侵权,请联系作者删除!