cas5.3.x整合consul註冊中心

採坑過程:

根據官方的文檔:

引用了官網的插件,然後具體的配置也是根據官網的文檔,如下:

#############consul##################
spring.cloud.consul.host=10.251.76.103
spring.cloud.consul.port=8500
spring.cloud.consul.enabled=true


spring.cloud.consul.discovery.healthCheckPath=${management.context-path}/health
spring.cloud.consul.discovery.healthCheckInterval=15s
spring.cloud.consul.discovery.instanceId=${cas.server.name}-${server.port}-${spring.cloud.client.hostname}

spring.cloud.consul.discovery.heartbeat.enabled=true
spring.cloud.consul.discovery.heartbeat.ttlValue=60
spring.cloud.consul.discovery.heartbeat.ttlUnit=s

那麼問題來了:

1、文檔上面紅色畫下劃線的,是寫錯了,要替換爲:

spring.cloud.consul.discovery.healthCheckInterval

 

2、重點問題來了,上面的配置應該放哪個文件呢?

根據cas默認提供的配置文件只有application.properties,所以默認我就放到了裏面,系統啓動的時候開始報錯了:

org.apache.http.conn.HttpHostConnectException: Connect to localhost:8500 [localhost/127.0.0.1, localhost/0:0:0:0:0:0:0:1] failed: Connection refused (Connection refused)

(注意:我的consul是在遠程服務器,非本地的)。

也就是說我在application.properties一直沒有生效,折騰了一天。

官網文檔至今沒有把這塊寫清楚(個人感覺,有錯請指出)。

然後我從頭閱讀了官網文檔,文檔指出是引入了spring cloud consul:

於是我直接採用了springcloud consul的配置。

 

解決方案:

1、還是引入官網的插件配置:

<!--consul-->
<dependency>
  <groupId>org.apereo.cas</groupId>
  <artifactId>cas-server-support-consul-client</artifactId>
  <version>${cas.version}</version>
</dependency>

2、在resource下面新建bootstrap.yml(注意bootstrap.properties不可用):

spring:
  application:
    name: o2o-support-idaas-cas
  cloud:
    consul:
      host: 10.251.76.103
      port: 8500
      discovery:
        instanceId: ${spring.application.name}-${server.port}-${spring.cloud.client.hostname}
        prefer-ip-address: true
        health-check-path: ${management.context-path}/health
        healthCheckInterval: 15s
        fail-fast: false
        register-health-check: true
        health-check-critical-timeout: 5m
      config:
        enabled: ${SPRING_CONFIG_ENABLED:true}
        prefix: config
        defaultContext: ${spring.application.name}
        format: PROPERTIES
server:
  port: 10001
management:
  context-path: /cas/status
  security:
    enabled: false

(注意:使用${spring.cloud.client.hostname},請加入插件spring-boot-starter-actuator)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章