final int port = config.getInteger(CONFIG_PORT, 80);
int receiveBufferSize = config.getInteger(CONFIG_RECEIVE_BUFFER_SIZE, 0);
int backlogSize = config.getInteger(CONFIG_BACKLOG_SIZE, 10000);
// Create http server
HttpServer server = vertx.createHttpServer();
// Performance tweak
server.setAcceptBacklog(backlogSize);
// Init jersey handler
jerseyHandler.init(vertx, container, config);
if (receiveBufferSize > 0) {
// TODO: This doesn't seem to actually affect buffer size for dataHandler. Is this being used correctly or is it a Vertx bug?
server.setReceiveBufferSize(receiveBufferSize);
}
// Set request handler, use route matcher if a route handler is provided.
if (routeMatcherHandler == null) {
server.requestHandler(jerseyHandler);
} else {
RouteMatcher rm = new RouteMatcher();
String pattern = jerseyHandler.getBaseUri().getPath() + "*";
rm.all(pattern, jerseyHandler);
routeMatcherHandler.handle(rm);
}
// Start listening and log success/failure
server.listen(port, host, new Handler<AsyncResult<HttpServer>>() {
@Override
public void handle(AsyncResult<HttpServer> result) {
final String listenPath = "http://" + host + ":" + port;
if (result.succeeded()) {
container.logger().info("Http server listening for " + listenPath);