camel-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From jejmaster <jejmas...@gmail.com>
Subject Re: Change JMS Consumer broker address dynamically
Date Tue, 01 Jun 2010 08:06:08 GMT

Hi,

So here's what i did:

            RouteDefinition routeDef =
camelContext.getRouteDefinition("routeId");
            List<FromDefinition> fromDefinitions = routeDef.getInputs();

            for (FromDefinition fromDef : fromDefinitions) {
                JmsEndpoint jmsEndpoint = (JmsEndpoint)
fromDef.getEndpoint();
                 if (jmsEndpoint.getConfiguration() instanceof
ActiveMQConfiguration) {
                    ActiveMQConfiguration activeMQConfiguration =
(ActiveMQConfiguration) jmsEndpoint.getConfiguration();
                     PooledConnectionFactory factory =
(PooledConnectionFactory) activeMQConfiguration.getConnectionFactory();
                    ActiveMQConnectionFactory activeMQConnectionFactory =
(ActiveMQConnectionFactory) factory.getConnectionFactory();
                    activeMQConnectionFactory.setBrokerURL(address);
                    break;
                  }
            }

This works initially when it cannot connect to the brokerURL address.
However, when it is hooked and connected to the working brokerURL address,
it cannot change the address anymore. It seems that when its already hooked,
it cannot be unhooked and be changed to other address.

Thanks,
Jejo



willem.jiang wrote:
> 
> Claus Ibsen wrote:
>> On Wed, May 26, 2010 at 6:36 AM, jejmaster <jejmaster@gmail.com> wrote:
>>> Hi,
>>>
>>> I would like to inquire regarding changing the JMS broker url on run
>>> time.
>>> Basically, I would like to manage the broker url in the database and for
>>> every change, it will automatically point to that jms broker url which
>>> camel
>>> is polling to.
>>>
>>> Any suggestions?
>>>
>> 
>> You want a Camel JMS Client to dynamic change to a different remote
>> broker URL?
>> 
>> You can do this by stopping the consumer. Change the broker URL and
>> start the consumer again.
> 
> Just one more note you can update the connectionFactory's brokerURL from 
> the JmsEndpoint or the JmsConfiguration which is hold by JmsComponent.
> 
> 
>> 
>> 
>>> Thanks.
>>> --
>>> View this message in context:
>>> http://old.nabble.com/Change-JMS-Consumer-broker-address-dynamically-tp28676362p28676362.html
>>> Sent from the Camel - Users mailing list archive at Nabble.com.
>>>
>>>
>> 
>> 
>> 
> 
> 
> 

-- 
View this message in context: http://old.nabble.com/Change-JMS-Consumer-broker-address-dynamically-tp28676362p28738846.html
Sent from the Camel - Users mailing list archive at Nabble.com.


Mime
View raw message