Spring Boot: Как изменить значение аннотации в зависимости от профиля? - PullRequest
0 голосов
/ 18 октября 2019

Мы используем redis в качестве источника данных. Но у нас есть только один сервер Redis, поэтому среда разработки и производства должны совместно использовать сервер. Поэтому я хочу использовать разные префиксы @RedisHash для объектов в зависимости от их профиля. У меня 2 профиля, dev и prod.

Например, для Участника объекта я хочу использовать @RedisHash('redis.prod_Participant') для производства и @RedisHash('redis.dev_Participant') для разработки.

Поэтому я изменяю application-prod.yaml файл на

redis:
  host: 9.9.9.9
  port: 6379
  password: 1234
  participant_db_name: prod_Participant

Но как мне установить значение @RedisHash в зависимости от профиля? Я пробовал @RedisHash(@Value("${redis.participant_db_name}")), но значение @RedisHash должно иметь тип String вместо типа Value, и компилятор жалуется на несовместимость.

Я также пытался @RedisHash("${redis.participant_db_name}"), но вместо использования prod_Participant, литералВместо него используется ${redis.participant_db_name}.

Есть ли способ достичь этого?

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