执行器启动就注册到admin
需要再admin录入APPNAME
执行器启动就注册到admin
需要再admin录入APPNAME
这个从设计上来说手动注册估计更方便管理,配置角色什么的,不是单纯的自动注册
邮件已经收到,谢谢!
如果要做的话,可以在项目启动的时候在代码里手动调用增加执行器的接口完成,以避免每次业务项目上线的时候上线人员去调度中心人工增加。
主要也是确认下是不是已经有了这个东西,我没找到
这段代码在注册
private void initEmbedServer(String address, String ip, int port, String appname, String accessToken) throws Exception { // fill ip port port = port>0?port: NetUtil.findAvailablePort(9999); ip = (ip!=null&&ip.trim().length()>0)?ip: IpUtil.getIp(); // generate address if (address==null || address.trim().length()==0) { String ip_port_address = IpUtil.getIpPort(ip, port); // registry-address:default use address to registry , otherwise use ip:port if address is null address = "http://{ip_port}/".replace("{ip_port}", ip_port_address); } // accessToken if (accessToken==null || accessToken.trim().length()==0) { logger.warn(">>>>>>>>>>> xxl-job accessToken is empty. To ensure system security, please set the accessToken."); } // start embedServer = new EmbedServer(); embedServer.start(address, port, appname, accessToken); }
如果是Spring项目,简单的做法是将XxlJobSpringExecutor注册为Bean,afterSingletonsInstantiated()方法被调用,最终会调用到上述注册执行器方法,例如
@Bean public XxlJobSpringExecutor xxlJobExecutor() { logger.info(">>>>>>>>>>> xxl-job config init."); XxlJobSpringExecutor xxlJobSpringExecutor = new XxlJobSpringExecutor(); xxlJobSpringExecutor.setAdminAddresses(adminAddresses); xxlJobSpringExecutor.setAppname(appName); xxlJobSpringExecutor.setPort(port); xxlJobSpringExecutor.setAccessToken(accessToken); xxlJobSpringExecutor.setLogPath(logPath); xxlJobSpringExecutor.setLogRetentionDays(logRetentionDays); return xxlJobSpringExecutor; }