Grails 3 для анализа свойств хеш-карты с помощью "."в ключ не работает, как ожидалось в более ранних версиях - PullRequest
0 голосов
/ 22 февраля 2019

У нас есть следующее свойство для нашего мультитенантного приложения, которое помогает нам найти арендатора на основе домена.

mydomains = [
  'www.google.com': 'tenant1',
  'www.abc.com': 'tenant2'
]

В grails2.2.4 мы смогли получить к нему доступ как

grailsApplication.config.mydomains['www.abc.com']

это правильно дало бы нам 'tenant2' в 2.2.4, но в grails 3.3.7, кажется, создается карта для каждого "."в ключе & как таковой не может найти арендатора для данного домена.Вот как свойство mydomains анализируется в 3.3.7

[www:[google:[com:tenant1], abc:[com:tenant2]]]

Есть ли подход, при котором я мог бы получить такое же поведение в 3.3.7?

1 Ответ

0 голосов
/ 23 февраля 2019

Вместо grailsApplication.config.mydomains['www.abc.com'] используйте grailsApplication.config.getProperty('mydomains.www.abc.com').

Кстати ... Это не имеет прямого отношения к вашему вопросу, но очень мало ситуаций, для которых прямая ссылка на grailsApplication.config действительно лучшесделать.См. Статью на https://objectcomputing.com/resources/publications/sett/retrieving-config-values-in-grails-3 и видео на https://objectcomputing.com/products/grails/quickcasts/runtime-config-values-grails-3 для получения дополнительной информации.В видео я обсуждаю некоторые причины, по которым прямой доступ к grailsApplication.config обычно не лучшая вещь.

Надеюсь, это поможет.

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