class XPluginImp implements Plugin {
    @Override
    public void start(AppContext context) throws Throwable {<FILL_FUNCTION_BODY>}
}

        Class<?> source = Solon.app().source();

        // @since 2.2
        Annotation enableAnno = source.getAnnotation(EnableAsync.class);
        if (enableAnno != null) {
            context.beanInterceptorAdd(Async.class, new AsyncInterceptor(context));
        }

        // @since 2.3
        Annotation enableRetryAnno = source.getAnnotation(EnableRetry.class);
        if (enableRetryAnno != null) {
            context.beanInterceptorAdd(Retry.class, new RetryInterceptor(context), Integer.MIN_VALUE);
        }

        //允许在外部手动构建，但是可能不会被启用
        CommandManager commandManager = CommandManager.getInstance();
        Annotation enableCommandAnno = source.getAnnotation(EnableCommand.class);
        if (enableCommandAnno != null) {
            //注册注解构建器
            context.beanBuilderAdd(Command.class, (clz, bw, anno) -> {
                //构建时，收集命令
                if (bw.raw() instanceof CommandExecutor) {
                    commandManager.register(anno.value(), bw.get());
                }
            });

            //订阅事件（启动完成后开始执行）
            context.onEvent(AppLoadEndEvent.class, e -> {
                RunUtil.delay(commandManager::executeAll, 100);
            });
        }
    
<no_super_class>