Как работает DropWizard Web Server?

Ниже приведена простая программа, взятая со страницы "Начало работы" DropWizard:

package com.example.helloworld;

import com.yammer.dropwizard.Service;
import com.yammer.dropwizard.config.Bootstrap;
import com.yammer.dropwizard.config.Environment;

public class HelloWorldService extends Service<HelloWorldConfiguration> {
    public static void main(String[] args) throws Exception {
        new HelloWorldService().run(args);
    }

    @Override
    public void initialize(Bootstrap<HelloWorldConfiguration> bootstrap) {
        bootstrap.setName("hello-world");
    }

    @Override
    public void run(HelloWorldConfiguration configuration,
                    Environment environment) {
        // nothing to do yet
    }

}

Я понимаю, что приведенный выше метод main() выполняется DropWizard, который, в свою очередь, вызывает метод run(). Код внутри метода run() написан пользователями и обычно включает в себя регистрацию ресурсов и прочего.

Я не вижу здесь никакого блокирующего фрагмента кода (например, бесконечный цикл while). Что мешает этому приложению просто выйти после выполнения метода run()?

Есть ли какая-то фундаментальная вещь, по которой я скучаю?

0 ответов

Другие вопросы по тегам