Hi,

I try to use the destinationResolver and I was able to use logical name
instead of the physical name.

Thanks.

Here is my configuration:

<bean id="jms" class="org.apache.camel.component.jms.JmsComponent">
        <property name="configuration" ref="jmsConfiguration" />
        <property name="destinationResolver" ref="jmsDestinationResolver" />
</bean>

<bean id="jmsConfiguration"
class="org.apache.camel.component.jms.JmsConfiguration">
        <property name="connectionFactory" ref="jmsConnectionFactory" />
        <property name="transactionManager" ref="jmsTransactionManager" />
        <property name="transacted" value="true" />
        <property name="concurrentConsumers" value="1" />
</bean>

<bean id="jmsConnectionFactory"
class="org.apache.activemq.ActiveMQConnectionFactory">
        <property name="brokerURL" value="tcp://localhost:61616" />
</bean>

<bean id="jmsTransactionManager"
class="org.springframework.jms.connection.JmsTransactionManager">
        <property name="connectionFactory" ref="jmsConnectionFactory" />
</bean>

<bean id="PROPAGATION_REQUIRED"
class="org.springframework.transaction.support.TransactionTemplate">
        <property name="transactionManager" ref="jmsTransactionManager" />
</bean>

<bean id="jmsDestinationResolver"
class="org.springframework.jms.support.destination.JndiDestinationResolver">
        <property name="jndiTemplate" ref="jndiTemplate" />
        <property name="cache" value="true" />
</bean>

<bean id="jndiTemplate" class="org.springframework.jndi.JndiTemplate">
        <property name="environment">
        <props>
                <prop
key="java.naming.factory.initial">org.apache.activemq.jndi.ActiveMQInitialContextFactory</prop>
                <prop 
key="java.naming.provider.url">tcp://localhost:61616</prop>
                <prop key="queue.jndiname">physical.q</prop>
        </props>
        </property>
</bean>



Claus Ibsen-2 wrote:
> 
> Hi
> 
> I kinda recall there is a destination name resolver you can use. A
> person had this question eg 6 months ago (eg a long time ago).
> With this resolver you could do the lookup in jndi and return the real
> destination object found there.
> 
> 
> On Wed, Jul 15, 2009 at 3:15 AM, Willem Jiang<willem.ji...@gmail.com>
> wrote:
>> Hi,
>>
>> Apache camel support the binding the JNDI configure file[1] with the
>> camel
>> context, but current jms component doesn't support it.
>>
>> From current JMS URI, there is no flag to tell camel-jms componement the
>> queue name is JNDI logical name.
>>
>> Please feel free to fill a JIRA[2] as a feature requirement.
>>
>> [1] http://camel.apache.org/jndi.html
>> [2] http://issues.apache.org/activemq/browse/CAMEL
>>
>> Willem
>> fjaouen wrote:
>>>
>>> Hi,
>>>
>>> I try to use Apache camel JMS (http://camel.apache.org/jms.html). And it
>>> works fine if I use physical name. But I would like to use a logical
>>> name
>>> based on JNDI.
>>>
>>> For example instead of having:
>>> <camel:route>
>>>        <camel:from uri="jms:queue:MY_PHYSICAL_QUEUE_NAME" />
>>>        <camel:to uri="log:CAMEL" />
>>> </camel:route>
>>>
>>> I would like to have:
>>> <camel:route>
>>>        <camel:from uri="jms:queue:MY_LOGICAL_QUEUE_NAME" />
>>>        <camel:to uri="log:CAMEL" />
>>> </camel:route>
>>>
>>> Where MY_LOGICAL_QUEUE_NAME is bound to MY_PHYSICAL_QUEUE_NAME.
>>>
>>> This would let me the possibility to define physical queue name in a
>>> configuration file.
>>>
>>> Is there a way to do that ? And if it is the case could you send me the
>>> receipt ?
>>>
>>> Thanks !
>>
>>
> 
> 
> 
> -- 
> Claus Ibsen
> Apache Camel Committer
> 
> Open Source Integration: http://fusesource.com
> Blog: http://davsclaus.blogspot.com/
> Twitter: http://twitter.com/davsclaus
> 
> 

-- 
View this message in context: 
http://www.nabble.com/JMS-queue---JNDI-instead-of-physical-name-tp24484994p24502544.html
Sent from the Camel Development mailing list archive at Nabble.com.

Reply via email to