use of com.generallycloud.baseio.container.service.FutureAcceptorServiceFilter in project baseio by generallycloud.
the class ApplicationContext method doStart.
@Override
protected void doStart() throws Exception {
if (channelContext == null) {
throw new IllegalArgumentException("null nio context");
}
if (StringUtil.isNullOrBlank(rootLocalAddress)) {
throw new IllegalArgumentException("rootLocalAddress");
}
if (futureAcceptorServiceFilter == null) {
this.futureAcceptorServiceFilter = new FutureAcceptorServiceFilter();
}
if (appRedeployService == null) {
appRedeployService = new SystemRedeployServlet();
}
if (acLoader == null) {
acLoader = new FileSystemACLoader();
}
if (exceptionCaughtHandle == null) {
exceptionCaughtHandle = new LoggerExceptionCaughtHandle();
}
if (ioExceptionCaughtHandle == null) {
ioExceptionCaughtHandle = new LoggerExceptionCaughtHandle();
}
instance = this;
this.rootLocalAddress = FileUtil.getPrettyPath(rootLocalAddress);
this.encoding = channelContext.getEncoding();
this.appLocalAddres = FileUtil.getPrettyPath(getRootLocalAddress() + "app");
LoggerUtil.prettyLog(logger, "application path :{ {} }", appLocalAddres);
this.initializeApplicationContext();
}
use of com.generallycloud.baseio.container.service.FutureAcceptorServiceFilter in project baseio by generallycloud.
the class ProtobaseApplicationContextEnricher method enrich.
@Override
public void enrich(ApplicationContext context) {
SocketChannelContext channelContext = context.getChannelContext();
context.setServiceFilter(new FutureAcceptorServiceFilter());
// FIXME 重复的
Set<String> blackIPs = context.getBlackIPs();
if (blackIPs != null && !blackIPs.isEmpty()) {
channelContext.addSessionEventListener(new BlackIPFilter(blackIPs));
}
channelContext.addSessionEventListener(new LoggerSocketSEListener());
channelContext.setProtocolFactory(new ParamedProtobaseProtocolFactory());
channelContext.setBeatFutureFactory(new ParamedProtobaseBeatFutureFactory());
}
Aggregations