我们的多租户应用程序具有以下属性,可帮助我们根据域查找租户。
mydomains = [
'www.google.com': 'tenant1',
'www.abc.com': 'tenant2'
]
在grails2.2.4中,我们可以
对其进行访问grailsApplication.config.mydomains['www.abc.com']
它将正确地在2.2.4中给我们'tenant2',但是在grails 3.3.7中,它似乎为每个“”创建了一个映射。在密钥中,因此无法找到给定域的租户。这是在3.3.7中解析mydomains属性的方式
[www:[google:[com:tenant1], abc:[com:tenant2]]]
有没有一种方法可以使我在3.3.7中得到相同的行为?
答案 0 :(得分:0)
使用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
通常不是最好的一些原因。
我希望有帮助。