[
https://issues.apache.org/jira/browse/QPIDJMS-332?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Robbie Gemmell resolved QPIDJMS-332.
------------------------------------
Resolution: Fixed
> Defining queue's name as tomcat resource conflichts resource definition
> -----------------------------------------------------------------------
>
> Key: QPIDJMS-332
> URL: https://issues.apache.org/jira/browse/QPIDJMS-332
> Project: Qpid JMS
> Issue Type: Improvement
> Components: qpid-jms-client
> Affects Versions: 0.25.0
> Reporter: Bernhard Seidl
> Assignee: Robbie Gemmell
> Fix For: 0.26.0
>
>
> Since a few days i am trying to define a queue resource in Tomcat's
> context.xml. The attribute "name" defines the jndi name. Looking at
> org.apache.qpid.jms.JmsDestination
> the attribute is called "name", too. This seems to me as a naming conflict.
> I tried to use the attribute "physicalName" due to the fact that some of the
> classes are based on ActiveMQ. However I am not sure if I am missing a point
> somewhere else:
> This is my setup:
> Context.xml
> {code:xml}
> <Resource name="jms/ConnectionFactory" auth="Container"
> type="org.apache.qpid.jms.JmsConnectionFactory"
> factory="org.apache.qpid.jms.jndi.JNDIReferenceFactory"
> remoteURI="amqp://10.10.10.1:5672" username="a" password="a"
> maxPoolSize="20" connectionTimeout="60000" />
> <Resource name="jms/queue" auth="Container"
> type="org.apache.qpid.jms.JmsQueue"
> factory="org.apache.qpid.jms.jndi.JNDIReferenceFactory"
> physicalName="name"/>
> {code}
> Init-code using spring:
> {code:java}
> @Configuration
> @EnableJms
> public class MessagingConfiguration {
> @Bean
> public ConnectionFactory connectionFactory() throws NamingException {
> ConnectionFactory connectionFactory = (new JndiTemplate())
>
> .lookup("java:/comp/env/jms/ConnectionFactory",ConnectionFactory.class);
> return connectionFactory;
> }
>
> @Bean
> public DestinationResolver destinationResolver() {
> JndiDestinationResolver jdr = new JndiDestinationResolver();
> try {
> // testing
> Queue q =
> jdr.getJndiTemplate().lookup("java:/comp/env/jms/queue", Queue.class);
> System.out.println("A: " + q.getQueueName());
> System.out.println("B: " + (new
> JndiTemplate()).lookup("java:/comp/env/jms/queue",
> Destination.class).getClass());
> } catch (Exception e) {
> // TODO Auto-generated catch block
> e.printStackTrace();
> }
> return jdr;
> }
> @Bean
> public JmsTemplate jmsTemplate() throws NamingException {
> JmsTemplate template = new JmsTemplate();
> template.setConnectionFactory(connectionFactory());
> template.setDestinationResolver(destinationResolver());
> return template;
> }
> }
> {code}
> Running the code prints out:
> {noformat}
> ...
> A:
> B: class org.apache.qpid.jms.JmsQueue
> {noformat}
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]