use of ratpack.exec.internal.DefaultExecController in project ratpack by ratpack.
the class DefaultRatpackServer method start.
@Override
public synchronized void start() throws Exception {
if (isRunning()) {
return;
}
ServerConfig serverConfig;
LOGGER.info("Starting server...");
DefinitionBuild definitionBuild = buildUserDefinition();
if (definitionBuild.error != null) {
if (definitionBuild.getServerConfig().isDevelopment()) {
LOGGER.warn("Exception raised getting server config (will use default config until reload):", definitionBuild.error);
needsReload.set(true);
} else {
throw Exceptions.toException(definitionBuild.error);
}
}
serverConfig = definitionBuild.getServerConfig();
execController = new DefaultExecController(serverConfig.getThreads());
ChannelHandler channelHandler = ThreadBinding.bindFor(true, execController, () -> buildHandler(definitionBuild));
channel = buildChannel(serverConfig, channelHandler);
boundAddress = (InetSocketAddress) channel.localAddress();
String startMessage = String.format("Ratpack started %sfor %s://%s:%s", serverConfig.isDevelopment() ? "(development) " : "", getScheme(), getBindHost(), getBindPort());
if (Slf4jNoBindingDetector.isHasBinding()) {
if (LOGGER.isInfoEnabled()) {
LOGGER.info(startMessage);
}
} else {
System.out.println(startMessage);
}
shutdownHookThread = new Thread("ratpack-shutdown-thread") {
@Override
public void run() {
try {
DefaultRatpackServer.this.stop();
} catch (Exception ignored) {
ignored.printStackTrace(System.err);
}
}
};
Runtime.getRuntime().addShutdownHook(shutdownHookThread);
}
use of ratpack.exec.internal.DefaultExecController in project ratpack by ratpack.
the class DefaultRequestFixture method getEffectiveRegistry.
private Registry getEffectiveRegistry(final DefaultHandlingResult.ResultsHolder results) {
ClientErrorHandler clientErrorHandler = (context, statusCode) -> {
results.setClientError(statusCode);
context.getResponse().status(statusCode);
results.getLatch().countDown();
};
ServerErrorHandler serverErrorHandler = (context, throwable1) -> {
results.setThrowable(throwable1);
results.getLatch().countDown();
};
final Registry userRegistry = Registry.builder().add(ClientErrorHandler.class, clientErrorHandler).add(ServerErrorHandler.class, serverErrorHandler).build();
return Exceptions.uncheck(() -> {
ServerConfig serverConfig = serverConfigBuilder.build();
DefaultExecController execController = new DefaultExecController(serverConfig.getThreads());
return ServerRegistry.serverRegistry(new TestServer(), Impositions.none(), execController, serverConfig, r -> userRegistry.join(registryBuilder.build()));
});
}
Aggregations