Spring Cloud整合XXL-Job的几个步骤
第一步:
整合pom文件,在Spring Cloud中添加XXL-Job的依赖
com.xuxueli xxl-job-core 2.0.1
第二步:
把XXL-Job中的lohback.xml导入到Spring Cloud 项目中
logback %d{HH:mm:ss.SSS} %contextName [%thread] %-5level %logger{36} - %msg%n ${log.path} ${log.path}.%d{yyyy-MM-dd}.zip %date %level [%thread] %logger{36} [%file : %line] %msg%n
第三步:
application.properties整合
server.port=8091 server.tomcat.max-threads=10 spring.application.name=service-order spring.datasource.driver-class-name=com.mysql.jdbc.Driver spring.datasource.url=jdbc:mysql://localhost:3306/shop?useSSL=false&serverTimezone=UTC&useUnicode=true&characterEncoding=utf8&userSSL=false&allowPublicKeyRetrieval=true spring.datasource.username=root spring.datasource.password=123456 spring.jpa.properties.show-sql=true spring.jpa.properties.database=mysql spring.jpa.properties.database-platform=mysql spring.jpa.properties.hibernate.ddl-auto=update spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MySQL57Dialect spring.cloud.nacos.discovery.server-addr=192.168.136.1:8848 #跟控制台交流的端口,随意制定一个未使用的端口即可 spring.cloud.sentinel.transport.port=9999 #指定控制台服务的地址 spring.cloud.sentinel.transport.dashboard=localhost:8080 #关闭sentinel的CommonFilter实列化 spring.cloud.sentinel.filter.enabled=false feign.sentinel.enabled=true #通过修改配置来调整Ribbon的负载均衡策略 service-product.ribbon.NFLoadBalancerRuleClassName=com.netflix.loadbalancer.RandomRule #rocketMQ服务的地址 rocketmq.name-server=192.168.136.111:9876 # 生产者组 rocketmq.producer.group=shop-order spring.cloud.nacos.config.namespace=public spring.cloud.nacos.config.group=SEATE_GROUP spring.cloud.alibaba.seata.tx-service-group=${spring.application.name} spring.cloud.nacos.config.env=dev logging.config=classpath:logback.xml ### xxl-job admin address list, such as "http://address" or "http://address01,http://address02" xxl.job.admin.addresses=http://192.168.136.111:8080/xxl-job-admin ### xxl-job executor address xxl.job.executor.appname=xxl-job-executor-sample xxl.job.executor.ip= xxl.job.executor.port=9999 ### xxl-job, access token xxl.job.accessToken= ### xxl-job log path xxl.job.executor.logpath=/opt/module/xxl-job-2.0.1/jobhandler ### xxl-job log retention days xxl.job.executor.logretentiondays=-1
第四步:
向Spring Cloud中导入XxlJobConfig.class
@Configuration
@ComponentScan(basePackages = "com.xxl.job.executor.service.jobhandler")
public class XxlJobConfig {
private Logger logger = LoggerFactory.getLogger(XxlJobConfig.class);
@Value("${xxl.job.admin.addresses}")
private String adminAddresses;
@Value("${xxl.job.executor.appname}")
private String appName;
@Value("${xxl.job.executor.ip}")
private String ip;
@Value("${xxl.job.executor.port}")
private int port;
@Value("${xxl.job.accessToken}")
private String accessToken;
@Value("${xxl.job.executor.logpath}")
private String logPath;
@Value("${xxl.job.executor.logretentiondays}")
private int logRetentionDays;
@Bean(initMethod = "start", destroyMethod = "destroy")
public XxlJobSpringExecutor xxlJobExecutor() {
logger.info(">>>>>>>>>>> xxl-job config init.");
XxlJobSpringExecutor xxlJobSpringExecutor = new XxlJobSpringExecutor();
xxlJobSpringExecutor.setAdminAddresses(adminAddresses);
xxlJobSpringExecutor.setAppName(appName);
xxlJobSpringExecutor.setIp(ip);
xxlJobSpringExecutor.setPort(port);
xxlJobSpringExecutor.setAccessToken(accessToken);
xxlJobSpringExecutor.setLogPath(logPath);
xxlJobSpringExecutor.setLogRetentionDays(logRetentionDays);
return xxlJobSpringExecutor;
}
}重点:
