在grails中在运行时更改ActiveMQConnectionFactory brokerURL

时间:2011-03-22 21:15:02

标签: grails runtime jms activemq javabeans

我在resource.groovy中定义了一个bean,如

beans = {
    jmsConnectionFactory(org.apache.activemq.pool.PooledConnectionFactory) {bean ->
        connectionFactory = {org.apache.activemq.ActiveMQConnectionFactory cf ->
            brokerURL = brokerDestination
        }
     }
 }

现在,有没有办法在运行时动态更改brokerURL,从而重新启动activemq连接?

1 个答案:

答案 0 :(得分:2)

更简单的解决方案是为每个代理和相应的bean目标定义多个连接工厂。然后,您可以根据您的要求有条件地在代码中交换目标 - 一旦bean初始化,就没有简单的方法可以返回并修改bean定义。