xxl-job 集成nacos 的两种方式

2 篇文章 0 订阅
1 篇文章 0 订阅

 前言:

        百度了很久,看了很多博客,按照上面的来,都没能跑成功,最后根据各种异常去查询问题,根据问题说明,按照里面说的再去修改配置,折腾了不少时间,终于成功了,感谢!!

一、准备环境省略

二、xxl-job 源码下载

https://github.com/xuxueli/xxl-job.git

三、修改配置文件

1、方式一

1.1 xxl-job-admin 下的pom配置文件加入以下配置:

<!-- 启用 nacos -->
<dependency>
	<groupId>com.alibaba.cloud</groupId>
	<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
	<version>2021.1</version>
</dependency>

<dependency>
	<groupId>com.alibaba.cloud</groupId>
	<artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
	<version>2021.1</version>
</dependency>

<!-- 不引入这个,启动项目的时候,读取不到nacos的配置文件 -->
<dependency>
	<groupId>org.springframework.cloud</groupId>
	<artifactId>spring-cloud-starter-bootstrap</artifactId>
	<version>3.0.1</version>
</dependency>

1.2 其实spring boot 版本需要对应 com.alibaba.cloud 的 nacos 版本;版本配置也可以使用

${nacos.version} 的方式,配置在最顶层的pom文件即可,此方式在这里不多做赘述。

1.3 修改  xxl-job-admin 下的 application.properties 文件:

server.port=8848
spring.profiles=dev,default
nacos.config.bootstrap.enable=true
nacos.config.server-addr=127.0.0.1:8848
nacos.config.data-id=application.properties
nacos.config.group=xxl-job
nacos.config.type=properties
nacos.config.auto-refresh=true

1.4 在 nacos 上添加配置文件,其实就是那份配置文件放到了这上面,其它的不变;但是要注意xxl-job-admin下的application.properties配置的data-id、group要和 nacos 的一致。 

 1.5 以上配置完成,正常启动项目就可以了;不过这种方式,不能把项目注册到nacos服务里面去

2、方式二

2.1 前两个步骤与方式一的1.1和1.2 一致

2.2 在xxl-job-admin 的 resources 添加 bootstrap.yml 和 bootstrap-dev.yml 文件

2.3 bootstrap.yml 配置文件配置如下:(其实配置文件分层作用的,根据自己项目来就行)

server:
  port: 9999 # Tomcat
  servlet.context-path: /xxl-job-admin

# Spring
spring:
  # 解决bean冲突问题,此项目可不配置此项
  main.allow-bean-definition-overriding: true
  application:
    # 应用名称
    name: xxl-job
  messages:
    basename: i18n/messages
  profiles:
    # 应用环境
    active: dev

2.4  bootstrap-dev.yml 配置文件如下:

nacos:
  server-addr: 127.0.0.1:8848
#  name-space: dev
  server-group: DEFAULT_GROUP #服务分组
  config-group: xxl-job  #配置在不同分组, 用于区分不同服务的配置文件

# Spring
spring:
  cloud:
    bootstrap.enabled: true
    nacos:
      discovery: # 服务注册发现
        # 多网卡指定服务ip
        #ip: 127.0.0.1
        # 注册中心服务器地址
        server-addr: ${nacos.server-addr}
#        namespace: ${nacos.name-space}
        heart-beat-interval: 3000 # 心跳间隔ms
        heart-beat-timeout: 10000 # 心跳超时ms
        group: ${nacos.server-group} # 服务分组 默认DEFAULT_GROUP
        metadata: # 元数据 提供描述信息, 如服务版本、权重、容灾策略等等自定义标签
          version: v1
          #instance: local
      config: # 配置中心
        # 配置中心服务器地址
        server-addr: ${nacos.server-addr}
#        namespace: ${nacos.name-space}
        group: ${nacos.config-group}
        prefix: application
        file-extension: yaml

2.5 因为注释掉了name-space的配置,nacos 的配置文件就添加在了 public 空间下,但用的dev环境,那 data-id 原本是 application.yaml 的就要改为 application-dev.yaml。nacos 添加配置如下:

management:
  health:
    mail:
      enabled: false
  server:
    servlet:
      context-path: /actuator

mybatis:
  mapper-locations: classpath:/mybatis-mapper/*Mapper.xml

spring:
  datasource:
    driver-class-name: com.mysql.cj.jdbc.Driver
    hikari:
      auto-commit: true
      connection-test-query: SELECT 1
      connection-timeout: 10000
      idle-timeout: 30000
      max-lifetime: 900000
      maximum-pool-size: 30
      minimum-idle: 10
      pool-name: HikariCP
      validation-timeout: 1000
    type: com.zaxxer.hikari.HikariDataSource
    url: jdbc:mysql://127.0.0.1:3306/xxl_job?useUnicode=true&characterEncoding=UTF-8&autoReconnect=true&serverTimezone=Asia/Shanghai
    username: root
    password: 123456
  freemarker:
    charset: UTF-8
    request-context-attribute: request
    settings:
      number_format: 0.##########
    suffix: .ftl
    templateLoaderPath: classpath:/templates/
  mail:
    from: xxx@qq.com
    host: smtp.qq.com
    password: xxx
    port: 25
    properties:
      mail:
        smtp:
          auth: true
          socketFactory:
            class: javax.net.ssl.SSLSocketFactory
          starttls:
            enable: true
            required: true
    username: xxx@qq.com
  mvc:
    servlet:
      load-on-startup: 0
    static-path-pattern: /static/**
  resources:
    static-locations: classpath:/static/

xxl:
  job:
    accessToken: ''
    i18n: zh_CN
    logretentiondays: 30
    triggerpool:
      fast:
        max: 200
      slow:
        max: 100

 2.6  以上配置完成后,正常启动项目就可以了,项目启动完成,这时打开nacos,在服务管理下的服务列表就可以看到xxl-job的服务了。

 

评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值