class XPluginImp implements Plugin {

    private static final Logger logger = LoggerFactory.getLogger(XPluginImp.class);

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

        CloudProps cloudProps = new CloudProps(context, "powerjob");

        if (cloudProps.getJobEnable() == false) {
            logger.warn("PowerJob is disabled, powerjob worker will not start.");
            return;
        }

        if (Utils.isBlank(cloudProps.getJobServer())) {
            logger.error("PowerJob server can't be empty! ");
            return;
        }

        if (Utils.isBlank(Solon.cfg().appName())) {
            logger.error("solon.app.name is empty, powerjob worker will not start.");
            return;
        }


        if (Utils.isNotBlank(cloudProps.getPassword())) {
            // Create PowerJobClient object
            PowerJobClient client = new PowerJobClient(cloudProps.getJobServer(), Solon.cfg().appName(), cloudProps.getPassword());
            context.beanInject(client);
            context.wrapAndPut(PowerJobClient.class, client); //包装并注册到容器（如果做为临时变量，会被回收的）
        }

        /*
         * Create PowerJobWorkerOfSolon object and inject it into Solon.
         */
        PowerJobProperties properties = cloudProps.getProp("job").getBean(PowerJobProperties.class);
        PowerJobWorkerConfig config = properties.toConfig(cloudProps);

        PowerJobWorkerOfSolon worker = new PowerJobWorkerOfSolon(context, config);
        context.beanInject(worker);
        context.wrapAndPut(PowerJobWorkerOfSolon.class, worker); //包装并注册到容器（如果做为临时变量，会被回收的）


        CloudManager.register(new CloudJobServiceImpl());

        //添加 @CloudJob 支持 BasicProcessor 原生类型
        CloudJobBeanBuilder.getInstance().addBuilder(BasicProcessor.class, new PowerJobBeanBuilder());
    
<no_super_class>