如何在Grails中创建JMS主题变量?

时间:2015-08-04 18:09:47

标签: grails jms jms-topic

我最近遇到了一个问题,试图让我的JMS @Subscriber主题成为一个基于环境的变量。目前,我的config.groovy:

environments {
    development {
        jms.foo.msg = "my.jms.topic.dev.1_0"
    }
    test {
        jms.foo.msg = "my.jms.topic.tst.1_0"
    }
    production {
        jms.foo.msg = "my.jms.topic.prd.1_0"
    }
}

在我的服务中,我有@Subscriber,我有这个:

@Subscriber(
            topic = grailsApplication.config.jms.foo.msg,
            container = 'matter',
            adapter = 'durable'
)

我得到的错误是:     “预计'grailsApplication.config.jms.foo.msg'是一个内联常量。”

我在这里尝试了很多获取配置值的变体。我正在寻找的是如何在特定环境下订阅正确的主题。任何想法都表示赞赏。

1 个答案:

答案 0 :(得分:0)

尝试使用Holders(自Grails v2.0起):

import grails.util.Holders

然后使用:

@Subscriber( topic = Holders.getConfig().jms.foo.msg, container = 'matter', adapter = 'durable' )