XxlJobConfig.java 2.2 KB

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