12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667 |
- package com.gyee.datatraining.config;
- import com.xxl.job.core.executor.impl.XxlJobSpringExecutor;
- import org.slf4j.Logger;
- import org.slf4j.LoggerFactory;
- import org.springframework.context.EnvironmentAware;
- import org.springframework.context.annotation.Bean;
- import org.springframework.context.annotation.Configuration;
- import org.springframework.context.annotation.PropertySource;
- import org.springframework.core.env.Environment;
- /**
- * xxl-job config
- *
- * @author xuxueli 2017-04-28
- */
- @Configuration
- @PropertySource("classpath:xxl-job-executor.properties")
- public class XxlJobConfig implements EnvironmentAware {
- private Environment env;
- @Override
- public void setEnvironment(Environment environment) {
- this.env=environment;
- }
- private Logger logger = LoggerFactory.getLogger(com.gyee.datatraining.config.XxlJobConfig.class);
- @Bean
- public XxlJobSpringExecutor xxlJobExecutor() {
- logger.info(">>>>>>>>>>> xxl-job config init.");
- XxlJobSpringExecutor xxlJobSpringExecutor = new XxlJobSpringExecutor();
- xxlJobSpringExecutor.setAdminAddresses(env.getProperty("xxl.job.admin.addresses"));
- xxlJobSpringExecutor.setAppname(env.getProperty("xxl.job.executor.appname"));
- xxlJobSpringExecutor.setAddress(env.getProperty("xxl.job.executor.address"));
- xxlJobSpringExecutor.setIp(env.getProperty("xxl.job.executor.ip"));
- xxlJobSpringExecutor.setPort(Integer.parseInt(env.getProperty("xxl.job.executor.port")));
- xxlJobSpringExecutor.setAccessToken(env.getProperty("xxl.job.accessToken"));
- xxlJobSpringExecutor.setLogPath(env.getProperty("xxl.job.executor.logpath"));
- xxlJobSpringExecutor.setLogRetentionDays(Integer.parseInt(env.getProperty("xxl.job.executor.logretentiondays")));
- return xxlJobSpringExecutor;
- }
- /**
- * 针对多网卡、容器内部署等情况,可借助 "spring-cloud-commons" 提供的 "InetUtils" 组件灵活定制注册IP;
- *
- * 1、引入依赖:
- * <dependency>
- * <groupId>org.springframework.cloud</groupId>
- * <artifactId>spring-cloud-commons</artifactId>
- * <version>${version}</version>
- * </dependency>
- *
- * 2、配置文件,或者容器启动变量
- * spring.cloud.inetutils.preferred-networks: 'xxx.xxx.xxx.'
- *
- * 3、获取IP
- * String ip_ = inetUtils.findFirstNonLoopbackHostInfo().getIpAddress();
- */
- }
|