Как я могу создавать профили с пружинной загрузкой + .yaml? - PullRequest
0 голосов
/ 03 октября 2018

У меня есть весенний загрузочный сервер с 2 файлами свойств: application-local.properties и application-test.properties

В каждом файле у меня есть конфиги для компьютера разработчика и для тестирования.Запустите его так:

-Dspring.profiles.active=local

Но в новом проекте весенней загрузки я использую .yaml файл конфигурации.И я не понимаю, как я могу использовать profiles с .yaml.Я пытался прочитать документацию, но ничего не понял.Можете ли вы объяснить, что делать, шаг за шагом?

Мне нужно два файла?

application-local.yaml и application-test.yaml

Или мне нужно записать все в один application.yaml файл?Если в одном файле, как я могу отделить конфиги?Это мой конфиг:

server:
  path: ***
  port: ***

cxf:
  path: ***

spring.datasource:
  type: com.zaxxer.hikari.HikariDataSource
  driver-class-name: oracle.jdbc.OracleDriver
  url: ***
  username: ***
  password: ***
  hikari:
    minimumIdle: 5
    maximumPoolSize: 20
    idleTimeout: 30000
    poolName: SpringBootJPAHikariCP
    maxLifetime: 2000000
    connectionTimeout: 30000
    connection-test-query: SELECT 1 FROM DUAL

spring.jpa:
  show-sql: false
  database-platform: org.hibernate.dialect.Oracle10gDialect
  properties.hibernate.jdbc.batch_size: 30
  properties.hibernate.cache.use_second_level_cache: false
  hibernate:
    ddl-auto: validate


spring.cache:
  ehcache:
    config: classpath:ehcache.xml

#app configs
my:
  messages-max-count: 5
  messages-delay: 100
  schedulers-charge-delay: 100
  client:
    first-server-address: ***
    second-server-address: ***
    last-server-address: ***
  enabled-client: FirstClient

Я хочу создать тестовый профиль и изменить URL базы данных (или изменить на postgreSql), изменить maximumPoolSize свойство

Ответы [ 2 ]

0 голосов
/ 03 октября 2018
  1. Создайте application.yaml и определите все свойства по умолчанию.
  2. Создайте application-local.yaml и измените свойства, необходимые для профиля local.
  3. Создайте application-test.yaml и переопределитесвойства, необходимые для профиля test.
  4. Установите spring.profiles.active, передав его как системное свойство (-D для java) или определив его в application.yaml.

Когда вы запускаете приложение с {PROFILE}, Spring будет анализировать application-{PROFILE}.yaml после application.yaml.

0 голосов
/ 03 октября 2018

Насколько я понимаю, поддержка yaml не реализована на том же уровне, что и для properties в Spring.Вы можете создать один файл и разделить его на несколько профилей, используя нотацию yaml с --- и установкой свойства spring.profiles в каждом разделе.Подробнее см. Документация .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...