XxlJobConfig.java 2.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. package com.gyee.datatraining.config;
  2. import com.xxl.job.core.executor.impl.XxlJobSpringExecutor;
  3. import org.slf4j.Logger;
  4. import org.slf4j.LoggerFactory;
  5. import org.springframework.context.EnvironmentAware;
  6. import org.springframework.context.annotation.Bean;
  7. import org.springframework.context.annotation.Configuration;
  8. import org.springframework.context.annotation.PropertySource;
  9. import org.springframework.core.env.Environment;
  10. /**
  11. * xxl-job config
  12. *
  13. * @author xuxueli 2017-04-28
  14. */
  15. @Configuration
  16. @PropertySource("classpath:xxl-job-executor.properties")
  17. public class XxlJobConfig implements EnvironmentAware {
  18. private Environment env;
  19. @Override
  20. public void setEnvironment(Environment environment) {
  21. this.env=environment;
  22. }
  23. private Logger logger = LoggerFactory.getLogger(com.gyee.datatraining.config.XxlJobConfig.class);
  24. @Bean
  25. public XxlJobSpringExecutor xxlJobExecutor() {
  26. logger.info(">>>>>>>>>>> xxl-job config init.");
  27. XxlJobSpringExecutor xxlJobSpringExecutor = new XxlJobSpringExecutor();
  28. xxlJobSpringExecutor.setAdminAddresses(env.getProperty("xxl.job.admin.addresses"));
  29. xxlJobSpringExecutor.setAppname(env.getProperty("xxl.job.executor.appname"));
  30. xxlJobSpringExecutor.setAddress(env.getProperty("xxl.job.executor.address"));
  31. xxlJobSpringExecutor.setIp(env.getProperty("xxl.job.executor.ip"));
  32. xxlJobSpringExecutor.setPort(Integer.parseInt(env.getProperty("xxl.job.executor.port")));
  33. xxlJobSpringExecutor.setAccessToken(env.getProperty("xxl.job.accessToken"));
  34. xxlJobSpringExecutor.setLogPath(env.getProperty("xxl.job.executor.logpath"));
  35. xxlJobSpringExecutor.setLogRetentionDays(Integer.parseInt(env.getProperty("xxl.job.executor.logretentiondays")));
  36. return xxlJobSpringExecutor;
  37. }
  38. /**
  39. * 针对多网卡、容器内部署等情况,可借助 "spring-cloud-commons" 提供的 "InetUtils" 组件灵活定制注册IP;
  40. *
  41. * 1、引入依赖:
  42. * <dependency>
  43. * <groupId>org.springframework.cloud</groupId>
  44. * <artifactId>spring-cloud-commons</artifactId>
  45. * <version>${version}</version>
  46. * </dependency>
  47. *
  48. * 2、配置文件,或者容器启动变量
  49. * spring.cloud.inetutils.preferred-networks: 'xxx.xxx.xxx.'
  50. *
  51. * 3、获取IP
  52. * String ip_ = inetUtils.findFirstNonLoopbackHostInfo().getIpAddress();
  53. */
  54. }