iT邦幫忙

0

Spring boot 配置Consul加載路徑與預期不符

  • 分享至 

  • xImage

各位大神好,我是第一次使用Consul的新手,在配置上遇到了點問題
我的環境與依賴如下:
java:17
spring boot:3.2.4
springCloudVersion:2023.0.1
spring-cloud-starter-consul-discovery:4.1.1
spring-cloud-starter-consul-config:4.1.1
spring-cloud-starter-bootstrap:4.1.1

我的bootstrap.yml如下:

spring:
  application:
    name: coupon
    profiles:
      active: test
  datasource:
    url: jdbc:mysql://localhost:3306/sms
    username: root
    password: root
    driver-class-name: com.mysql.jdbc.Driver
  cloud:
    consul:
      host: localhost
      port: 8500
      config:
        enabled: true 
        prefixes: config, data 
        default-context: couponService
        profile-separator: '-'
        format: yaml 
      discovery:
        enabled: true
        service-name: sms-service
        health-check-path: /actuator/health
        health-check-interval: 10s
        heartbeat:
          enabled: true

我的Consul配置中心:https://ithelp.ithome.com.tw/upload/images/20240429/20166834wDSzZZvyiI.png

我預期他應該使用config/couponService-test/底下的配置
但spring boot日誌訊息卻是:Located property source: [BootstrapPropertySource {name='bootstrapProperties-data/coupon/'}, BootstrapPropertySource {name='bootstrapProperties-data/couponService/'}, BootstrapPropertySource {name='bootstrapProperties-config/coupon/'}, BootstrapPropertySource {name='bootstrapProperties-config/couponService/'}]
我不明白是哪個部分出了問題?

圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

1 個回答

0
厚厚
iT邦研究生 5 級 ‧ 2024-04-29 11:21:10
最佳解答

Spring Profiles 設定檔應該是 spring.profiles.active
不確定你多一層application這樣是否會吃到設定

看更多先前的回應...收起先前的回應...
a22553167 iT邦新手 5 級 ‧ 2024-04-29 22:39:54 檢舉

你是對的!! 我沒有注意到 謝謝你

厚厚 iT邦研究生 5 級 ‧ 2024-04-30 08:51:28 檢舉

不會,可以給我個最佳解答 XD

a22553167 iT邦新手 5 級 ‧ 2024-05-02 00:33:11 檢舉

可是我現在有個問題,當我切換active變成不同環境時,卻沒有使用切換後的配置跟資料。只有重啟服務才會吃到切換後的資料
但我記得consul配置中心的好處就是不用透過重啟就能動態載入切換環境的資料。
我後來有在bootstrap.yml加了watch參數 但好像沒用 不太清楚原因出在哪....https://ithelp.ithome.com.tw/upload/images/20240502/20166834raS1h4oF0n.png

厚厚 iT邦研究生 5 級 ‧ 2024-05-02 09:23:12 檢舉

為什麼你沒有data-key的參數?

a22553167 iT邦新手 5 級 ‧ 2024-05-02 10:27:16 檢舉

data-key有一定需要嗎? 預設她不是會使用data.yml,我就沒有特別設定了
我這樣是吃得到資料的 只是每次切換active都要重啟,這樣會是data-key的關係嗎

我要發表回答

立即登入回答