elasticsearch 啓動

啓動類:Bootstrap

INSTANCE.setup(true, settings, environment);
INSTANCE.start();

啓動start

 private void start() {
        node.start();
        keepAliveThread.start();
    }

Node
對每個node輪詢啓動,如果它是一個lifecycleComponent,則調用start方法。

for (Class<? extends LifecycleComponent> plugin : pluginsService.nodeServices()) {
            injector.getInstance(plugin).start();
        }

AbstractLifeCycleComponent

@SuppressWarnings({"unchecked"})
    @Override
    public T start() {
        if (!lifecycle.canMoveToStarted()) {
            return (T) this;
        }
        for (LifecycleListener listener : listeners) {
            listener.beforeStart();
        }
        doStart();
        lifecycle.moveToStarted();
        for (LifecycleListener listener : listeners) {
            listener.afterStart();
        }
        return (T) this;
    }

    protected abstract void doStart();
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章